vue 提交表单重复点击,重复提交防抖问题

问题:用户点击保存时,可能会多次点击。导致生成重复数据。

目标:多次点击时,1s内只允许提交一次数据。

解决方案

1.在utils文件夹创建文件preventReClick.js

vue 提交表单重复点击,重复提交防抖问题_第1张图片

export default {
    install (Vue) {
      // 防止按钮重复点击
      Vue.directive('preventReClick', {
        inserted (el, binding) {
          // console.log("binding-7", binding)
          el.addEventListener('click', () => {
            if (!el.disabled) {
              el.disabled = true
              setTimeout(() => {
                el.disabled = false
              }, binding.value || 2000)
            }
          })
        }
      })
    }
  }

2.在main.js中引入

vue 提交表单重复点击,重复提交防抖问题_第2张图片

3、在.vue 文件中使用

vue 提交表单重复点击,重复提交防抖问题_第3张图片

你可能感兴趣的:(前端,前端)