我们一般遇到防止按钮连续点击,重复发送请求会在按钮上添加disabled属性,点击后让按钮的这个属性为true,就不能点击了
但是,当指头速度超级快时还是避免不了,重复发送请求,然后在网上看到了一个办法,
disabled属性还加,点击后将按钮置灰,
另外,将我么你要执行的方法 单独封装成一个方法
然后将这个方法 赋值给一个变量,每次点击时去调用这个变量(已经将这个方法赋值给它了),将这个变量放到计时器内执行
let self = this,fun; self.saveOrderBtnCanUse = true;//按钮不能点击 setTimeout(() => { //防止重复点击发送请求 fun = saveFun; fun(); }, 500); function saveFun(){//do some self.saveOrderBtnCanUse = false }
发现上面的还会重复触发(只要够快),
然后试了试下面的,好了:
self.saveOrderBtnCanUse = true;//按钮不能点击 setTimeout(() => { //防止重复点击发送请求 self.saveOrderBtnCanUse = false;//按钮不可以点击 }, 1000);
正常代码再执行
。