这篇文章主要介绍“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()
}
}
版权声明:除特别声明外,本站所有文章皆是本站原创,转载请以超链接形式注明出处!