新建防抖指令文件:
export default (app: any) => {
app.directive('debounceClick', {
mounted(
el: { addEventListener: (arg0: string, arg1: () => void) => void; disabled: boolean },
binding: { value: any },
) {
el.addEventListener('click', () => {
if (!el.disabled) {
el.disabled = true;
setTimeout(() => {
el.disabled = false;
}, binding.value || 2000);
}
});
},
});
};
在main.ts中使用,先进行import导入
app.use(debounceClick);