防止连续点击按钮,多次调用接口

防止连续点击按钮,导致多次调用接口问题

文章目录


一、为什么需要禁止按钮多次调用问题?

因为在很多场景下,都会新增一些案例,如果允许可以多次调用就会出现新增多条同样的数据,还有就是在工作人员操作下会不小心多次点击导致多条同样的数据,会引起误解,因此需要防止连续点击新增/保存按钮多次

二、实现步骤

1.使用Vue.directive 自定义指令

使用自定义指令的好处就是方便简洁,还有就是用的地方比较多,不用到处引入文件,创建一个文件后缀为xxx.js

js 复制代码
export default {
  install(Vue) {
    // 防止重复点击preventMoreClick 就是自定义命令的名称
    Vue.directive('preventMoreClick', {
      inserted(el, binding) {
      // 监听事件
        el.addEventListener('click', () => {
          if (!el.disabled) {
            el.disabled = true;
            // 给一个定时器点一次需要多久才可以点从而实现了这个功能
            setTimeout(() => {
              el.disabled = false;
            }, 2000);
          }
        });
      }
    });
  }
};

2.在入口文件main.js引入文件

代码如下(示例):

js 复制代码
j// XXX就是文件名称
import XXX from 'xxx.js';
Vue.use(XXX );

2.使用自定义指令

html 复制代码
<el-button @click='handleClick' v-preventMoreClick>点击这里</el-button>

总结

提示:这里对文章进行总结:

例如:以上就是今天要讲的内容,就是为简单的简述了自定义指令的用法

相关推荐
Apifox9 分钟前
如何在 Apifox 中通过 Runner 运行包含云端数据库连接配置的测试场景
前端·后端·ci/cd
-代号952713 分钟前
【JavaScript】十四、轮播图
javascript·css·css3
麦麦大数据31 分钟前
neo4j+django+deepseek知识图谱学习系统对接前后端分离前端vue
vue.js·django·知识图谱·neo4j·deepseek·在线学习系统
树上有只程序猿36 分钟前
后端思维之高并发处理方案
前端
庸俗今天不摸鱼1 小时前
【万字总结】前端全方位性能优化指南(十)——自适应优化系统、遗传算法调参、Service Worker智能降级方案
前端·性能优化·webassembly
QTX187301 小时前
JavaScript 中的原型链与继承
开发语言·javascript·原型模式
黄毛火烧雪下1 小时前
React Context API 用于在组件树中共享全局状态
前端·javascript·react.js
Apifox1 小时前
如何在 Apifox 中通过 CLI 运行包含云端数据库连接配置的测试场景
前端·后端·程序员
一张假钞2 小时前
Firefox默认在新标签页打开收藏栏链接
前端·firefox
高达可以过山车不行2 小时前
Firefox账号同步书签不一致(火狐浏览器书签同步不一致)
前端·firefox