export default { install(Vue) { Vue.directive('preventReClick', { inserted(el, binding) { el.addEventListener('click', () => { if (!el.disabled) { el.disabled = true; // 可以添加禁用样式(可选) el.style.pointerEvents = 'none'; el.style.opacity = '0.6'; // 设定恢复时间,binding.value 是指令传入的值(如:v-prevent-reclick="2000") setTimeout(() => { el.disabled = false; el.style.pointerEvents = 'all'; el.style.opacity = '1'; }, binding.value || 1500); // 默认1.5秒 } }); } }); } };