js实现发送短信倒计时功能
HTML代码部分
javascript
<el-button @click="queryBtn()" type="primary">发送短信({{countDown}})</el-button>
<el-button @click="resetBtn()" type="danger" :disabled="resetBtndisab">重发</el-button>
JS代码部分
javascript
export default {
data(){
return {
countDown:60, // 默认时间60秒
countDownTimeout:null, // 倒计时计数器
resetBtndisab:true, //重发按钮初始值为不可用
}
},
methods:{
// 查询按钮
queryBtn(){
this.doCountDown()
},
// 重置按钮
resetBtn(){
this.$message({
message: '短信验证码已发送,请注意查收!',
type: 'success'
});
this.resetCountDown();
this.resetBtndisab=true
},
// 倒计时开始
doCountDown(){
this.countDownTimeout=setTimeout(()=>{
this.countDown--;
if(this.countDown<=0){
this.resetBtndisab=false
}else{
this.doCountDown(this.countDown)
}
},1000)
},
// 重置倒计时
resetCountDown(){
clearTimeout(this.countDownTimeout);
this.countDown=60;
}
}
}
实际展示效果