vue实现验证码倒计时

项目需求,做一个普通的验证码倒计时,点击后禁止重复点击,倒计时结束后可以继续点击

效果图:

 

代码:

<!-- html部分 -->
<van-button size="small" type="primary" :disabled="isSend" @click="countDown">
	{{codeName}}
</van-button>


data() {
	return {
    	isSend: false,  //禁用
		codeName: "发送验证码",
		totalTime: 10, //一般是60
		timer:'', //定时器
	}
},

methods: {
	// 验证码倒计时
	countDown() {
		if (this.isSend) return
		// this.getCode() // 获取验证码的接口
		this.isSend = true
		this.codeName = this.totalTime + 's后重新发送'
		this.timer = setInterval(() => {
		   this.totalTime--
		   this.codeName = this.totalTime + 's后重新发送'
		   if (this.totalTime < 0) {
		   clearInterval(this.timer)
		   this.codeName = '重新发送验证码'
		   this.totalTime = 10
		   this.isSend = false 
		   }
	    }, 1000)
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值