当前位置: 首页 > news >正文

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

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

文章目录

  • 防止连续点击按钮,导致多次调用接口问题
  • 一、为什么需要禁止按钮多次调用问题?
  • 二、实现步骤
    • 1.使用Vue.directive 自定义指令
    • 2.在入口文件main.js引入文件
    • 2.使用自定义指令
  • 总结


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

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

二、实现步骤

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

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

代码如下(示例):

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

2.使用自定义指令

<el-button @click='handleClick' v-preventMoreClick>点击这里</el-button>

总结

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

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

相关文章:

  • 俄语演讲开场白,柯桥外贸俄语培训
  • 提升易用性,OceanBase生态管控产品的“从小到大”
  • 第六章:C++之设计模式(一)
  • mysql什么时候不需要建立索引
  • WPF Frame 简单页面切换示例
  • 最短路:spfa算法
  • 分治与递归
  • Java并发编程之线程池源码解析与实现详解
  • 在Java、Java Web中放置图片、视频、音频、图像文件的方法
  • LVGL欢乐桌球游戏(LVGL+2D物理引擎学习案例)
  • SpringSecurity入门(一)
  • TOGAF架构介绍
  • 一文理解什么是k-近邻算法
  • 【网络安全的神秘世界】磁盘空间告急?如何解决“no space left on device”的困扰
  • day38 ● 理论基础 ● 509. 斐波那契数 ● 70. 爬楼梯 ● 746. 使用最小花费爬楼梯
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • Apache的80端口被占用以及访问时报错403
  • golang 发送GET和POST示例
  • js数组之filter
  • js正则,这点儿就够用了
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • 从输入URL到页面加载发生了什么
  • 前端性能优化--懒加载和预加载
  • 深入浏览器事件循环的本质
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 提升用户体验的利器——使用Vue-Occupy实现占位效果
  • 微信小程序开发问题汇总
  • 微信支付JSAPI,实测!终极方案
  • (4)事件处理——(7)简单事件(Simple events)
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (二开)Flink 修改源码拓展 SQL 语法
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (几何:六边形面积)编写程序,提示用户输入六边形的边长,然后显示它的面积。
  • (九)信息融合方式简介
  • (一)kafka实战——kafka源码编译启动
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • (转)重识new
  • .mysql secret在哪_MYSQL基本操作(上)
  • .net core 连接数据库,通过数据库生成Modell
  • .NET Core工程编译事件$(TargetDir)变量为空引发的思考
  • .Net 知识杂记
  • /deep/和 >>>以及 ::v-deep 三者的区别
  • [C++] sqlite3_get_table 的使用
  • [corCTF 2022] CoRJail: From Null Byte Overflow To Docker Escape
  • [dfs搜索寻找矩阵中最长递减序列]魔法森林的秘密路径
  • [Excel VBA]单元格区域引用方式的小结
  • [IOI2018] werewolf 狼人
  • [Json.net]快速入门
  • [LeetCode]—Simplify Path 简化路径表达式
  • [nlp] 多语言大模型不同语种/语系数据的数据配比调节
  • [PTA]数组循环右移
  • [RK-Linux] RK3399支持M.2 NVMe SSD启动
  • [Unity3d]安卓无法加载assetbundle的问题
  • [Unity3D]深度相机 Depth Camera