在开发中,有些提交保存按钮有时候会在短时间内被点击多次,这样就会多次重复请求后端接口,造成数据的重复,详情接口无法显示报错,比如新增表单的提交按钮,多次点击就会新增多条重复的数据。
问题解决方案如下:
1.在main.js中注册
Vue.directive('debounce', {
inserted(el, binding, vnode) {
let timer = {}
el.addEventListener('click', () => {
if (timer) {
clearTimeout(timer)
}
timer = setTimeout(() => {
binding.value()
}, 2000)
})
}
})
2.在按钮中v-debounce绑定
<el-button type="success" icon="el-icon-search" @click="searched()" size="mini" v-debounce="debounceClick">检索</el-button>
3.写一个方法检测是否成功
debounceClick() {
console.log("只触发一次");
},
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved