vue防止按钮多次点击

2022-05-08  本文已影响0人  我是七月

当用户快速点击提交按钮时,会发送多个请求,为了防止这个问题,需要对按钮进行多次的连续点击是事件:

1、在utils目录下建一个preventReClick.js的文件
import Vue from 'vue'

const preventReClick = Vue.directive('preventReClick', {
    inserted: function (el, binding) {
        el.addEventListener('click', () => {
            if (!el.disabled) {
                el.disabled = true
                setTimeout(() => {
                    el.disabled = false
                }, binding.value || 300)
            }
        })
    }
});
export { preventReClick }
2、在main.js引入
import '@/utils/preventReClick' //防多次点击,重复提交
3、具体使用,在button或el-button标签上绑定该指令
    <el-button  v-preventReClick @click="report">确认</el-button>
上一篇 下一篇

猜你喜欢

热点阅读