**按钮倒计时(获取验证码)**
废话不多说,直接看代码吧!
第一步:标签
<view>
<input name = "captcha" type="number" placholder="请输入验证码" bindinput="getCaptchaValue" value="captcha"></input>
<button bindTap='getCode' type='primary' disabled='{{disabled}}'>{{time}}</button>
</view>
第二步: 在全局里面
var interval=null;
第三步:页面的初始数据
Page({
data:{
captcha:null,
time:'获取验证码',
currentTime:60,
disabled:false
}
/**获取验证码参数*/
getCaptchaValue:function(e){
var that=this;
let length = e.detail.value.length;
that.setData({
captcha:e.detail.value,
length:length,
});
/**获取验证码的倒计时*/
getCode: function (options) {
var that = this;
let data ={
mobile:that.data.mobile,
type:'register_mobile'
}
/*api.postRequest(api.apiUrl.GET_CAPTCHA_POST,data,function(res){
})需要调的接口*/
var currentTime = that.data.currentTime;
that.setData({
disabled: true,
})
interval = setInterval(function () {
currentTime--;
that.setData({
time: currentTime + '秒后获取'
})
if (currentTime <= 0) {
clearInterval(interval)
that.setData({
time: '重新发送',
currentTime: 60,
disabled: false,
})
}
}, 1000)
},
},
})