工具类noDbClick.js
export default {}.install = (Vue, options = {}) => {
Vue.directive('preventReClick', {
inserted(el, binding) {
el.addEventListener('click', e => {
if (!el.disabled) {
el.disabled = true
el.style.cursor = 'not-allowed'
setTimeout(() => {
el.style.cursor = 'pointer'
el.disabled = false
}, 1500)
}
})
}
})
}
使用
//main.js
// 引入防止重复点击指令
import preventReClick from '@/utils/noDbClick'
Vue.use(preventReClick)
//.vue中使用 v-preventReClick
<el-button type="primary" v-preventReClick @click="newGoods" >
确认
</el-button>