美文网首页奇思妙想Vue
解决Vue项目按钮重复提交

解决Vue项目按钮重复提交

作者: _Struggle_ | 来源:发表于2022-01-27 14:54 被阅读0次

    当用户快速点击提交按钮时,会发送多个请求,为了防止这个问题,我们需要对按钮进行限制:
    1.首先建立一个preventClick.js的文件, 写入以下代码

    // 设置点击间隔
    import Vue from 'vue'
    
    Vue.directive('preventClick', {
      inserted (el) {
        el.addEventListener('click', () => {
          if (!el.disabled) {
            el.disabled = true
            setTimeout(() => {
              el.disabled = false
            }, 500)
          }
        })
      }
    })
    

    2.在main.js文件中引入这个js文件

    import '../preventClick'
    
    

    3.在button或el-button标签上绑定该指令

    <button v-preventClick>普通按钮</button>
    <el-button v-preventClick>Element按钮</el-button>
    

    注:此方法使用的是button标签的disabled属性来控制点击的,所以只能用在button类标签上,其他html标签无效。

    相关文章

      网友评论

        本文标题:解决Vue项目按钮重复提交

        本文链接:https://www.haomeiwen.com/subject/dkdahrtx.html