參考了:https://www.cnblogs.com/adbg/p/11271237.html
方法:使用全局指令的方式。
一、新建指令
1、我們首先新建一個js文件,例如起名為plugins.js。
2、然后我們寫入以下內容,將preventReClick指令暴露出去。
import Vue from 'vue' // 防止重復提交指令 const preventReClick = Vue.directive('preventReClick', { inserted (el, binding) { el.addEventListener('click', () => { if (!el.disabled) { el.disabled = true setTimeout(() => { el.disabled = false }, binding.value || 3000) } }) } }) export { preventReClick }
二、main.js引用
然后我們在main.js引用這個指令,使其全局使用。
import { preventReClick } from '@/api/tool/plugins';
三、使用
在按鈕加上v-prevent-re-click即可。
<el-button type="primary" @click="submitForm" v-prevent-re-click></el-button>