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 = truesetTimeout(() => {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>