绊夏微凉

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

1、自定义vue指令

import Vue from 'vue'

// 防止重复提交指令
const preventReClick = Vue.directive('preventReClick', {
  inserted(el, binding) {
    el.addEventListener('click', () => {
      console.log(binding.value)
      if (!el.disabled) {
        let className = el.className
        el.className = className + ' is-disabled'
        el.disabled = true
        setTimeout(() => {
          el.className = className
          el.disabled = false
          console.log(binding.value)
        }, binding.value || 3000)
      }
    })
  }
})

export default preventReClick

2、使用指令

<el-button size="small" type="primary" v-preventReClick="500">提 交</el-button>
posted on 2021-09-23 18:18  绊夏微凉  阅读(201)  评论(0)    收藏  举报