手机验证码发送倒计时

**

vue实现手机验证码发送倒计时功能

**

<template>
  <div class="login">
          <van-button @click="verification" :disabled="disabled"> 
            <template v-if="isShow">获取验证码</template>
            <template v-else>{{ outTime }}秒后重发</template>
          </van-button>
  </div>
</template>

 return {
      disabled: false, // 判断是否发送验证码吗
      time: null, // 设置默认定时器为null
      isShow: true, // 获取验证码禁用标识
      outTime: 60 // 设置验证码倒计时时间
    }
  },
verification () {
      if (this.disabled) return
      this.disabled = true // 禁用发送验证码按钮
      this.isShow = false // 隐藏获取验证码字符串
      if (!this.time) {  // 当定时器不为null时
        this.time = setInterval(() => {
          this.outTime = this.outTime - 1 // 没过一秒数字减一
          if (this.outTime < 0) {
            // 倒计时结束清除定时器
            clearInterval(this.time)
            this.isShow = true // 显示获取验证码字符串
            this.outTime = 60
            this.time = null 
            this.disabled = false //将按钮设置为可用状态
          }
        }, 1000) // 每秒执行一次
      }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值