vue怎么实现发送验证码计时器防止刷新

寻技术 VUE 2023年09月20日 63

这篇文章主要介绍“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()
    }
  }
关闭

用微信“扫一扫”