在一段时间内,按钮被点击后将按钮禁用
//自定义指令-防止按钮重复点击
import Vue from 'vue'
import { Message } from 'element-ui'
// 在vue上挂载一个指量 preventReClick
const preventReClick = Vue.directive('preventReClick', {
inserted: function (el, binding) {
el.addEventListener('click', () => {
if (!el.disabled) {
el.disabled = true
// Message.warning('请勿重复点击')
setTimeout(() => {
el.disabled = false
}, binding.value || 1000)
//binding.value可以自行设置。如果设置了则跟着设置的时间走
}
})
}
});
export { preventReClick }
在main.js中引入
import preventReClick from '@/components/Function/preventReClick'
页面使用:
<el-button @click="searchOk" v-preventReClick type="primary">搜索</el-button>
//自定义时间
<el-button @click="searchOk" v-preventReClick='2000' type="primary">搜索</el-button>