为了账号安全,请及时绑定邮箱和手机立即绑定

小程序验证码倒计时功能,setData异步的问题

小程序验证码倒计时功能,setData异步的问题

ABOUTYOU 2019-03-21 16:19:11
要实现发送验证码后倒计时60s后,能够重新点击,但是使用setData设置button按钮的禁用的话有异步问题,倒计时为0的时候,狂点按钮,可以发送好几条验证码,请问这个怎么解决呢,主要代码如下<button disabled='{{verifyBtnDisable}}' bindtap="sendVerify">{{verifyBtnText}}</button>data:{    //验证码倒计时    verifyBtnDisable:true,    verifyBtnText:'发送验证码'}//发送验证码  sendVerify:function(){    let userTel = this.data.userTel.tel;    console.log(userTel);    console.log("发送验证码");    wx.request({      url: 'http://register.fd1.b.zhihui.hbraas.com/index.php?r=register/send-code',      data: {"Telephone":userTel},      method:'get',      dataType:'json',      success:res=>{        if (res.statusCode==200){          console.log("验证码发送成功");          this.setData({            verifyBtnDisable: true          })          this.countDown();        }else{          console.log(res.statusCode);          console.log(res.data);        }      }    });  },  //验证码倒计时  countDown:function(){    let num = 5;    let interval = setInterval(e=>{      if(num <= 0){        clearInterval(interval);        this.setData({          verifyBtnText: "发送验证码",          verifyBtnDisable: false        });      }else{        num--;        this.setData({          verifyBtnText: num + 's'        });      }    },1000)  },
查看完整描述

2 回答

?
叮当猫咪

TA贡献1776条经验 获得超12个赞

点击的时候判断下啊,如果按钮的内容==='发送验证码'才执行后续操作啊,否则return掉啊


查看完整回答
反对 回复 2019-04-02
?
慕森王

TA贡献1777条经验 获得超3个赞

setData是更改页面上的值,可以在countDown里面更改this.data.verifyBtnDisable的值, 然后在发送请求的方法里面加个判断,判断的也是this.data.verifyBtnDisable,如果为true, 直接return


查看完整回答
反对 回复 2019-04-02
  • 2 回答
  • 0 关注
  • 653 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信