Vue防止用户在一定时间多次点击后触发多次请求

Vue防止用户在一定时间多次点击后触发多次请求

首页休闲益智时间点击更新时间:2024-08-02

在开发中,有些提交保存按钮有时候会在短时间内被点击多次,这样就会多次重复请求后端接口,造成数据的重复,详情接口无法显示报错,比如新增表单的提交按钮,多次点击就会新增多条重复的数据。

问题解决方案如下:

1.在main.js中注册

Vue.directive('debounce', {

inserted(el, binding, vnode) {

let timer = {}

el.addEventListener('click', () => {

if (timer) {

clearTimeout(timer)

}

timer = setTimeout(() => {

binding.value()

}, 2000)

})

}

})

2.在按钮中v-debounce绑定

<el-button type="success" icon="el-icon-search" @click="searched()" size="mini" v-debounce="debounceClick">检索</el-button>

3.写一个方法检测是否成功

debounceClick() {

console.log("只触发一次");

},

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved