关于vue表单提交防双/多击的例子


Posted in Javascript onOctober 31, 2019

先说下出现场景:

测试这次比较极端(也有可能是测试又学会什么新知识了,哈哈),说是在点击提交和调用之间有可能有狂暴的用户在多连击,就像打游戏一样,调用接口后的loading状态切换就无效了

然后,就只好自己写了个基于vue防多击的指令,小小偷懒了下,我里面已经注入fastClick了,因此响应方法是极快的,因此只需要稍微控制下二次点击的时间即可

export default {}.install = (Vue, options = {}) => {
 Vue.directive('dbClick', {
 inserted(el, binding) {
  el.addEventListener('click', e => {
  if(!el.disabled) {
   el.disabled = true;
   let timer = setTimeout( () => {
   el.disabled = false;
   },1000)
  }
  })
 }
 })
}

用法:

<pr-col hor="center"><mt-button v-dbClick type="primary" @click="saveOrder">保存</mt-button></pr-col>

以上这篇关于vue表单提交防双/多击的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript下function声明一些小结
Dec 28 Javascript
用Javascript同时提交多个Web表单的方法
Dec 26 Javascript
iframe子页面获取父页面元素的方法
Nov 05 Javascript
jQuery实现图片轮播特效代码分享
Sep 15 Javascript
js enter键激发事件实例代码
Aug 17 Javascript
jQuery中实现prop()函数控制多选框(全选,反选)
Aug 19 Javascript
Javascript 跨域知识详细介绍
Oct 30 Javascript
jQuery实现对象转为url参数的方法
Jan 11 Javascript
ES6学习笔记之Set和Map数据结构详解
Apr 07 Javascript
深入理解Vue生命周期、手动挂载及挂载子组件
Sep 27 Javascript
react同构实践之实现自己的同构模板
Mar 13 Javascript
vue组件添加事件@click.native操作
Oct 30 Javascript
Vuex的实战使用详解
Oct 31 #Javascript
如何在Vue中抽离接口配置文件
Oct 31 #Javascript
vue自定义指令实现仅支持输入数字和浮点型的示例
Oct 30 #Javascript
基于Vue中使用节流Lodash throttle详解
Oct 30 #Javascript
Vue最新防抖方案(必看篇)
Oct 30 #Javascript
vue输入节流,避免实时请求接口的实例代码
Oct 30 #Javascript
vue 解决form表单提交但不跳转页面的问题
Oct 30 #Javascript
You might like
Linux下php5.4启动脚本
2014/08/03 PHP
PHP答题类应用接口实例
2015/02/09 PHP
phpStudy vscode 搭建debug调试的教程详解
2020/07/28 PHP
RR vs IO BO3 第一场2.13
2021/03/10 DOTA
JObj预览一个JS的框架
2008/03/13 Javascript
JavaScript入门教程(1) 什么是JS
2009/01/31 Javascript
js中把JSON字符串转换成JSON对象最好的方法
2014/03/21 Javascript
angular.foreach 循环方法使用指南
2015/01/06 Javascript
总结JavaScript的正则与其他语言的不同之处
2016/08/25 Javascript
AngularJS使用带属性值的ng-app指令实现自定义模块自动加载的方法
2017/01/04 Javascript
javaScript中&quot;==&quot;和&quot;===&quot;的区别详解
2018/03/16 Javascript
详解如何构建Promise队列实现异步函数顺序执行
2018/10/23 Javascript
React Native中Mobx的使用方法详解
2018/12/04 Javascript
ES6知识点整理之模块化的应用详解
2019/04/15 Javascript
详解微信小程序缓存--缓存时效性
2019/05/02 Javascript
Electron vue的使用教程图文详解
2019/07/05 Javascript
VUE+node(express)实现前后端分离
2019/10/13 Javascript
JavaScript实现飞舞的泡泡效果
2020/02/07 Javascript
js实现3D旋转相册
2020/08/02 Javascript
Vue axios获取token临时令牌封装案例
2020/09/11 Javascript
[05:06]2017亚洲邀请赛DAC回顾片
2017/04/19 DOTA
python多进程共享变量
2016/04/06 Python
python实现五子棋小程序
2019/06/18 Python
pyqt5 删除layout中的所有widget方法
2019/06/25 Python
基于TensorFlow常量、序列以及随机值生成实例
2020/01/04 Python
django admin 根据choice字段选择的不同来显示不同的页面方式
2020/05/13 Python
Python中BeautifulSoup通过查找Id获取元素信息
2020/12/07 Python
pandas apply使用多列计算生成新的列实现示例
2021/02/24 Python
在线购买世界上最好的酒:BoozeBud
2018/06/07 全球购物
英国排名第一的礼品体验公司:Red Letter Days
2018/08/16 全球购物
法国女性内衣购物网站:Glamuse
2019/05/13 全球购物
The North Face北面法国官网:美国著名户外品牌
2019/11/01 全球购物
英国儿童设计师服装和玩具购物网站:Zac & Lulu
2020/10/19 全球购物
波兰办公用品和学校用品在线商店:Dlabiura24.pl
2020/11/18 全球购物
金融专业求职信
2014/08/05 职场文书
vue+iview实现手机号分段输入框
2022/03/25 Vue.js