自定义指令,按钮防连点

   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)
            }
          })
        }

})

 

posted @ 2022-01-12 17:39  张小中  阅读(65)  评论(0编辑  收藏  举报