防止按钮重复点击,连续发送请求

我们一般遇到防止按钮连续点击,重复发送请求会在按钮上添加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);
    正常代码再执行

 

 

 

posted @ 2020-07-10 14:50  古墩古墩  Views(907)  Comments(0Edit  收藏  举报