问题:用户点击保存时,可能会多次点击。导致生成重复数据。
目标:多次点击时,1s内只允许提交一次数据。
解决方案:
1.在utils文件夹创建文件preventReClick.js
export default {
install (Vue) {
// 防止按钮重复点击
Vue.directive('preventReClick', {
inserted (el, binding) {
// console.log("binding-7", binding)
el.addEventListener('click', () => {
if (!el.disabled) {
el.disabled = true
setTimeout(() => {
el.disabled = false
}, binding.value || 2000)
}
})
}
})
}
}
2.在main.js中引入
3、在.vue 文件中使用