防抖按钮
自定义指令
//debounce.jsimport Vue from "vue";Vue.directive("debounce", { inserted(el, binding) { el.addEventListener("click", () => { el.classList.add("is-disabled"); el.disabled = true; setTimeout(() => { el.disabled = false; el.classList.remove("is-disabled"); }, binding.value || 300); //我这里设置的是2000毫秒也就是2秒 }); },});
主入口配置
//main.jsimport "./directive/debounce.js";
实例调用
<button v-debounce @click="test">test</button> //默认<button v-debounce="3000" @click="test">test</button> //自定义工夫<el-button v-debounce @click="test">test</el-button> //elemntui
申请loading蒙层