防止快速点击按钮会重复多次调用接口,防止出现这样的情况
第一步:新建 plugins.js
export default {
install (Vue) {
// 防重复点击(指令实现)
Vue.directive('preventreclick', {
inserted (el, binding) {
el.addEventListener('click', () => {
if (!el.disabled) {
el.disabled = true
setTimeout(() => {
el.disabled = false
}, binding.value || 3000)
}
})
}
})
}
}
第二步:在main.js中引入
import preventreclick from "./components/common/plugins.js";
Vue.use(preventreclick) // 通过插件的形式挂载
第三步:在vue文件中使用
<el-button type="danger" icon="el-icon-remove" v-preventreclick>删除仓库</el-button>
注意:preventreclick 只能小写 ,元素可以是input元素、button元素、option元素