点击提交按钮,连续点击多次,它重复提交了,这个问题怎么处理呢
(需求是无论点击多少次是提交一次就可以了)
点击提交后把按钮置为不可点击状态
节流防抖即可,设置一个变量控制按钮的置灰或者是loding状态,点击事件中去设置他为true,接口相应后设置为false
点击请求的时候,把按钮设置为disabled
,请求完再去掉disabled
你可以 提交 后 ,按钮 禁用,提交完成 再 改成 不禁用。 或者 函数 节流、防抖。
函数节流防抖
需要在点击后将按钮禁用,直到正确提交拿到返回后,或者提交拿到异常后根据业务再判断是让他可用还是禁用
写一个节流函数,防止重复提交
```javascript
// 节流函数
function throttle(fn delay){
let cando = true;
return function(){
if(!cando){
return;
}
cando = false;
setTimeout(() => {
cando = true;
fn.apply(this, arguments);
})
}
}
```