在min.js中增加以下代码:
Vue.directive('debounce', {
inserted: function (el, binding) {
el.addEventListener('click', () => {
if (!el.disabled) {
binding.value();
el.disabled = true
setTimeout(() => {
el.disabled = false
}, 1500)
}
});
}
});
这样就可以在全局增加防抖的自定义属性,使用时在需要防抖的按钮上使用v-debounce代替@click绑定事件 如:
<el-button type="primary" style="width: 120px" v-debounce="upFile">上传</el-button>
注意:此方法在绑定事件是事件不能加()和传参;若需传参,需要进一步改造该方法