vue 如何处理防止按钮重复点击问题

 更新时间:2022年10月09日 11:44:05   作者:前端小蔡姬  
这篇文章主要介绍了vue 如何处理防止按钮重复点击问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

处理防止按钮重复点击

1.在button上绑定动态的disabled

<el-button type="primary" size="mini" @click="testCode" :disabled="codeDisabled">发送验证码</el-button>

2.在data中定义

codeDisabled: false,

3.在点击事件里加入定时器,60000为1分钟不能重复点击

 testCode() {
      this.codeDisabled = true
      setTimeout(()=>{
        this.codeDisabled = false;
      },60000)
  }

vue防止重复执行点击事件

在vue项目中防止用户在一定时间内频繁点击按钮触发事件

方法一:在规定时间内将按钮禁用的方法

主要思想就是禁止用户在一定的时间多次点击,在一定时间内将按钮禁用,用定时器实现,一定时间之后用户可再次点击。

<template>
  <div>
      <div @click="clickHandle()">我是点击事件</div>
  </div>
</template>
 
<script>
export default {
  components: {},
  data () {
    return {
      isDisabled: false,
    };
  },
  methods: {
      clickHandle(){
          this.isDisabled = true;
          setTimeout(()=>{
              this.isDisabled = false;
          },3000)
      }
  },
}
</script>

方法二:用指令的方式实现,全局注册 

export default {
    install(Vue) {
        // 防止重复点击
        Vue.directive('preventReClick', {
            inserted(el, binding) {
                el.addEventListener('click', () => {
                    if (!el.disabled) {
                        el.disabled = true;
                        setTimeout(() => {
                            el.disabled = false;
                        }, binding.value || 1000)
                    }
                })
            }
        })
    }
}

1. 在main.js中引入上面的js文件

// 防止多次点击
import preventReClick from './common/utils/utils'
Vue.use(preventReClick);

2. 在触发事件的按钮上就可以直接使用指令

<div class="comment-btn" @click="submitMes()" v-preventReClick="3000">发送</div>

3. 3秒之后 按钮下面的事件才可再次触发

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。 

相关文章

  • vue3中echarts的tooltip组件不显示问题及解决

    vue3中echarts的tooltip组件不显示问题及解决

    这篇文章主要介绍了vue3中echarts的tooltip组件不显示问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • vue实现过渡动画Message消息提示组件示例详解

    vue实现过渡动画Message消息提示组件示例详解

    这篇文章主要为大家介绍了vue实现过渡动画Message消息提示组件示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • vue父子组件的互相传值和调用

    vue父子组件的互相传值和调用

    这篇文章主要介绍了vue父子组件的互相传值和调用,帮助大家更好的理解和学习使用vue框架,感兴趣的朋友可以了解下
    2021-04-04
  • ElementUI 修改默认样式的几种办法(小结)

    ElementUI 修改默认样式的几种办法(小结)

    这篇文章主要介绍了ElementUI 修改默认样式的几种办法(小结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • VUE3+mqtt封装解决多页面使用需重复连接等问题(附实例)

    VUE3+mqtt封装解决多页面使用需重复连接等问题(附实例)

    最近了解到mqtt这样一个协议,可以在web上达到即时通讯的效果,下面这篇文章主要给大家介绍了关于VUE3+mqtt封装解决多页面使用需重复连接等问题的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-04-04
  • Vue3中axios请求封装、请求拦截与相应拦截详解

    Vue3中axios请求封装、请求拦截与相应拦截详解

    目前前端最流行的网络请求库还是axios,所以对axios的封装很有必要,下面这篇文章主要给大家介绍了关于Vue3中axios请求封装、请求拦截与相应拦截的相关资料,需要的朋友可以参考下
    2023-05-05
  • Vue3中依赖注入provide、inject的使用

    Vue3中依赖注入provide、inject的使用

    这篇文章主要介绍了Vue3中依赖注入provide、inject的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • Vue 路由组件向app.vue主文件传值的方式(两种常见方式)

    Vue 路由组件向app.vue主文件传值的方式(两种常见方式)

    在Vue.js中,可以使用路由传参的方式向App.vue主页面传递数据,有多种方法可以实现这一目标,本文结合实例代码给大家介绍的非常详细,需要的朋友参考下吧
    2023-11-11
  • 详解vue过滤器在v2.0版本用法

    详解vue过滤器在v2.0版本用法

    本篇文章主要介绍了vue过滤器在v2.0版本用法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • Vue 列表渲染 key的原理和作用详解

    Vue 列表渲染 key的原理和作用详解

    这篇文章主要介绍了key在Vue列表渲染时的原理和作用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-10-10

最新评论