Vue中的全局指令防止按钮重复点击
更新时间:2022年08月15日 10:13:39 作者:吴小花的博客
这篇文章主要介绍了Vue中的全局指令防止按钮重复点击,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
全局指令防止按钮重复点击
1.common.js
首先引入Vue
import Vue from 'vue'; const preventReClick = Vue.directive('preventReClick', { inserted: function (el, binding) { el.addEventListener('click', () => { if (!el.disabled) { el.disabled = true setTimeout(() => { el.disabled = false }, binding.value || 3000) } console.log(el.disabled) }) } }); export { preventReClick }
2.在需要引入的页面引入(**.vue)
在按钮上添加v-preventReClick
<el-button size="small" type="primary" @click="handleSave('form')" v-preventReClick>确定</el-button>
从common.js导入指令preventReClick
import preventReClick from '../common' //防多次点击,重复提交
防重复点击(vue指令实现)
阻止快速点击按钮会重复多次调用接口的
定义全局指令
// directive.js export default { install (Vue) { // 防重复点击(指令实现) Vue.directive('repeatClick', { inserted (el, binding) { el.addEventListener('click', () => { if (!el.disabled) { el.disabled = true setTimeout(() => { el.disabled = false }, binding.value || 1000) } }) } }) } }
在main.js引用
import directive from 'directive.js'; vue.use(directive );
按钮调用直接加v-preventReClick
<el-button v-repeatClick type="prismary" style="width:100%;" @click="handleSubmit"></el-button>
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
vue-cli-service和webpack-dev-server的区别及说明
这篇文章主要介绍了vue-cli-service和webpack-dev-server的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-10-10vue中使用echarts刷新可以正常渲染但路由跳转不显示的问题解决
在 Vue 中使用 ECharts 组件时,遇到路由跳转后图表不显示的问题可能是因为组件销毁和重新创建的原因,所以本文给大家介绍了vue中使用echarts刷新可以正常渲染但路由跳转不显示问题的解决方法,需要的朋友可以参考下2024-02-02axios封装,使用拦截器统一处理接口,超详细的教程(推荐)
这篇文章主要介绍了axios封装使用拦截器处理接口,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-05-05关于Element-ui中Table表格无法显示的问题及解决
这篇文章主要介绍了关于Element-ui中Table表格无法显示的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-08-08vue+mousemove实现鼠标拖动功能(拖动过快失效问题解决方法)
这篇文章主要介绍了vue+mousemove实现鼠标拖动功能,文中给大家介绍了鼠标移动过快拖动就失效问题的解决方法,需要的朋友可以参考下2018-08-08
最新评论