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

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

文章目录


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

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

二、实现步骤

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>

总结

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

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

相关推荐
酉鬼女又兒31 分钟前
零基础快速入门前端DOM 操作核心知识与实战解析(完整汇总版)(可用于备赛蓝桥杯Web应用开发)
开发语言·前端·javascript·职场和发展·蓝桥杯·js
喝拿铁写前端1 小时前
一套面向 Web、H5、小程序与 Flutter 的多端一致性技术方案
前端·架构
yaaakaaang1 小时前
(一)前端,如此简单!---下载Nginx
前端·nginx
牛奶1 小时前
为什么全国人民都能秒开同一个视频?
前端·http·cdn
KongHen022 小时前
uniapp-x实现自定义tabbar
前端·javascript·uni-app·unix
数据潜水员2 小时前
三层统计最小力度的四种方法
javascript·vue.js
汪子熙2 小时前
TS2320 错误的本质、触发场景与在 Angular / RxJS 项目中的系统化应对
前端·javascript·angular.js
我命由我123452 小时前
React - BrowserRouter 与 HashRouter、push 模式与 replace 模式、编程式导航、withRouter
开发语言·前端·javascript·react.js·前端框架·html·ecmascript
Younglina2 小时前
用AI全自动生成连环画?我试了,效果惊艳!
前端·ai编程·claude
Devin_chen2 小时前
ES6 Class 渐进式详解
前端·javascript