这篇文章主要介绍“vue怎么实现发送验证码计时器防止刷新”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue怎么实现发送验证码计时器防止刷新”文章能帮助大家解决问题。
基本实现效果
按钮:
<t-button @click="handleSend" :disabled="disable">{{text}}</t-button>
data:
text: '发送验证码', time: 10, timer: null, disable: false
点击发送:
handleSend() { this.disable = true this.text = this.time + 's后重新发送' this.timer = setInterval(() => { if (this.time > 0) { this.time-- this.text = this.time + 's后重新发送' } else { clearInterval(this.timer) this.time = 10 this.disable = false this.text = '重新发送' } }, 1000) }
防止刷新
handleSend() { this.disable = true this.text = this.time + 's后重新发送' this.timer = setInterval(() => { if (this.time > 0) { this.time-- this.text = this.time + 's后重新发送' localStorage.setItem('time', this.time) // 注意这行 } else { clearInterval(this.timer) this.time = 10 this.disable = false this.text = '重新发送' } }, 1000) }
created() { const time = localStorage.getItem('time') if (time && time > 0) { this.text = time + 's后重新发送' this.time = time this.handleSend() } }