自定义指令,按钮防连点

   directives: {
      preventReClick: {
        inserted(el, binding) {
          el.addEventListener('click', () => {
            if (!el.disabled) {
              el.disabled = true
              setTimeout(() => {
                el.disabled = false
              }, binding.value || 3000)
            }
          })
        }
      },
    },

 <Button type="info" @click="editDisplayFieldSave" v-preventReClick>保存</Button>
 
//注册一个全局自定义指令
    Vue.directive('preventReClick', {
     inserted(el, binding) {
          el.addEventListener('click', () => {
            if (!el.disabled) {
              el.disabled = true
              setTimeout(() => {
                el.disabled = false
              }, binding.value || 3000)
            }
          })
        }

})
原文地址:https://www.cnblogs.com/zjz666/p/15793615.html