前端实现手机短信验证码倒计时效果

实现效果:实现按钮倒计时10s后可重新发送验证码

一、思路

1、禁用按钮,调用后端接口,获取验证码

2、setTimeOut(() => {},1000)延迟1s执行,time - 1,返回文案,9s

3、迭代处理,调用自身函数,time - 1,返回文案,8s,实现9s 8s 7s 这样倒计时的效果。

4、不能无限迭代减1,判断时间为最后一秒时,解除按钮禁用状态

二、代码

javascript 复制代码
    sendVerifyCode() {
      this.verifyCodeDisable = true;
      // 调用后端接口获取验证码
      this.getVerifyCode()
      // 初始化倒计时时间
      let time = 10;
      this.setTime(time)
    },
    setTime(time) {
      setTimeout(() => {
        if (time > 1) {
          time--;
          // 返回文案
          this.tips = time + 's';
          // 迭代调用
          this.setTime(time)
        } else {
          // 倒计时最后一秒,解除禁用状态,可重新发送验证码
          this.verifyCodeDisable = false;
          this.tips = '获取验证码';
        }
      }, 1000)
    }
相关推荐
2301_803554523 分钟前
C++ 锁类型大全详解
开发语言·c++
wuwu_q9 分钟前
用通俗易懂方式,详细讲讲 Kotlin Flow 中的 map 操作符
android·开发语言·kotlin
曼巴UE513 分钟前
UE5 C++ Slate 画曲线
开发语言·c++·ue5
向葭奔赴♡19 分钟前
Spring IOC/DI 与 MVC 从入门到实战
java·开发语言
r0ad21 分钟前
读诗的时候我却使用了自己研发的Chrome元素截图插件
前端·javascript·chrome
minji...23 分钟前
C++ 面向对象三大特性之一---多态
开发语言·c++
散峰而望29 分钟前
基本魔法语言函数(一)(C语言)
c语言·开发语言·编辑器·github
lucky_syq1 小时前
Scala与Spark算子:大数据处理的黄金搭档
开发语言·spark·scala
IT_陈寒1 小时前
React性能优化实战:这5个Hooks技巧让我的应用快了40%
前端·人工智能·后端
封奚泽优1 小时前
使用Labelme进行图像标注
开发语言·python·labelme