common.js 建立throttle.js文件
import Vue from 'vue'
//按钮节流
const preventReClick = Vue.directive('preventReClick', {
inserted: function (el, binding) {
el.addEventListener('click', () => {
if (!el.disabled) {
el.disabled = true
setTimeout(() => {
el.disabled = false
}, binding.value || 3000)
}
})
}
});
export { preventReClick }
main.js挂载
// 按钮节流
import {preventReClick} from "@C/common/throttle.js"
Vue.prototype.$preventReClick = preventReClick;
页面使用
<van-button round block type="info" native-type="submit" @click="submit"
v-preventReClick
>下一页</van-button>