基本实现效果

按钮:

          <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()
    }
  }

以上就是vue发送验证码计时器防止刷新实现详解的详细内容,更多关于vue发送验证码计时器防止刷新的资料请关注其它相关文章!

原文地址:https://juejin.cn/post/7205802450573639740

相关文章:

  • 2023-01-07
  • 2022-12-23
  • 2022-12-23
  • 2022-01-08
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-08-31
  • 2021-12-22
  • 2022-12-23
  • 2021-09-10
  • 2022-12-23
相关资源
相似解决方案