vue项目之自定义指令防抖,等待xx秒之后方可再次点击

本文介绍了一个Vue插件,该插件包含一个名为`v-preventReClick`的自定义指令,用于实现点击按钮时的防抖功能。当按钮被连续快速点击时,它会阻止在设定的时间间隔内再次触发点击事件,从而避免重复请求。通过在main.js中全局注册插件,可以在项目中轻松使用此防抖指令。
摘要由CSDN通过智能技术生成

vue提供install可供我们开发新的插件及全局注册组件等
install方法第一个参数是vue的构造器,第二个参数是可选的选项对象

/**

 * 防抖指令

 * v-preventReClick || v-preventReClick="3000"

 */

export const preventReClick = {

  install(Vue) {

    Vue.directive('preventReClick', {

      inserted(el, binding) {

        el.addEventListener('click', () => {

          if (!el.disabled) {

            el.disabled = true

            setTimeout(() => {

              el.disabled = false

            }, binding.value || 5000)

          }

        })

      }

    })

  }

}

如果使用较为频繁,那么可以引入到main.js  

import { preventReClick } from '@/utils/util'

Vue.use(preventReClick)

组件调用即可

  <el-button

              size="mini"

              type="primary"

              v-preventReClick

              >按钮</el-button

            >

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值