我是靠谱客的博主 光亮香菇,最近开发中收集的这篇文章主要介绍Element-UI中给el-button加上防抖,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

为啥我要加上防抖

在项目中常常会遇到这种问题 

 当我点击确定或者保存按钮时,如果请求时间过长或加上快速双击就会出现多次请求,造成意想不到的结果

解决方法:

给按钮加上一个全局指令 noMoreClick 来限制在n的时间内为 disabled


//在main.js中
// 提交以后禁用按钮一段时间,防止重复提交
import Vue from 'vue'
Vue.directive('noMoreClick', {
  inserted(el, binding) {
    el.addEventListener('click', e => {
      el.classList.add('is-disabled')
      el.disabled = true
      setTimeout(() => {
        el.disabled = false
        el.classList.remove('is-disabled')
      }, 2000)//我这里设置的是2000毫秒也就是2秒
    })
  }
})

使用 v-no-more-click指令

<el-button v-no-more-click type="primary" @click="submitForm('ruleForm')">确 定</el-button>

最后

以上就是光亮香菇为你收集整理的Element-UI中给el-button加上防抖的全部内容,希望文章能够帮你解决Element-UI中给el-button加上防抖所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部