当前位置: 首页 > news >正文

Vue3发送验证码,开启倒计时,并且倒计时结束前无法点击

目录

1.最终效果

2.HTML

3.JS


1.最终效果

先看效果,点击发送验证码,然后开启倒计时,倒计时结束前无法再次发送,并且该按钮处于无法选中状态

废话少说,上干货,直接看代码

2.HTML

按钮部分内容:

  • disabled: 是按钮无法选中的属性,这里将这个属性绑定到组件实例counting属性中,counting为true时,按钮处于不可用状态,为false为可用
  • @click:这个不用多说,是控制按钮触发事件的
  • v-text:绑定的按钮文本内容 
<el-button :disabled="counting" @click="startCountdown" v-text="buttonText"></el-button>

3.JS

组件实例化(也就是return里面的内容):

  • counting: false                     按钮状态默认false,可点击

  • buttonText: '发送验证码'      按钮文本内容默认

  • countdown: 90                     倒计时时长

  • timer: null                             定时器

methods:

methods函数,这个不用过多介绍

startCountdown() {if (this.counting) return;this.counting = true;this.buttonText = `${this.countdown} 秒后重试`;this.timer = setInterval(() => {this.countdown--;this.buttonText = `${this.countdown} 秒后重试`;if (this.countdown <= 0) {clearInterval(this.timer);this.counting = false;this.buttonText = '发送验证码';this.countdown = 90;}}, 1000);},

beforeDestroy:

beforeDestroy是vue.js中的生命周期钩子函数,用于执行一些清理操作,比如清除定时器、销毁非Vue插件等。这里用于清理定时器

beforeDestroy() {if (this.timer) {clearInterval(this.timer);}},

以上就是倒计时功能的实现!

如有错误、欢迎指正~ 

     

     

     

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 21LTR-Scene打靶渗透【附POC】(权限提升)
  • uniapp 多渠道打包实现方案
  • 【Buffer Pool】定长内存池的实现
  • cmake(1)
  • 【C++】:错误处理机制 -- 异常
  • 图像处理案例02
  • 效率何止10倍!利用输入法瞬间调用提示词
  • Harmony OS 卡片能力
  • ARM 离线安装k8s + harbor私有镜像库(麒麟)
  • NLP 之词的表示与语言模型
  • 巴黎奥运会8K转播科技为国产品牌自主研发设计
  • 第二章 部署LVS-DR集群
  • Mongodb权限
  • 谷粒商城实战笔记-136-商城业务-首页-整合thymeleaf渲染首页
  • Django异步请求和后台管理实战
  • 分享一款快速APP功能测试工具
  • 【React系列】如何构建React应用程序
  • 345-反转字符串中的元音字母
  • Android优雅地处理按钮重复点击
  • Computed property XXX was assigned to but it has no setter
  • Golang-长连接-状态推送
  • php面试题 汇集2
  • python docx文档转html页面
  • vue数据传递--我有特殊的实现技巧
  • 对话:中国为什么有前途/ 写给中国的经济学
  • 前端面试总结(at, md)
  • 无服务器化是企业 IT 架构的未来吗?
  • 新手搭建网站的主要流程
  • 在Unity中实现一个简单的消息管理器
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • # 移动硬盘误操作制作为启动盘数据恢复问题
  • %@ page import=%的用法
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (二十五)admin-boot项目之集成消息队列Rabbitmq
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (四)linux文件内容查看
  • (四)opengl函数加载和错误处理
  • (四)React组件、useState、组件样式
  • .net core 管理用户机密
  • .NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划
  • .NET/C# 推荐一个我设计的缓存类型(适合缓存反射等耗性能的操作,附用法)
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证
  • .NET之C#编程:懒汉模式的终结,单例模式的正确打开方式
  • .net中应用SQL缓存(实例使用)
  • /etc/sudoers (root权限管理)
  • @test注解_Spring 自定义注解你了解过吗?
  • @拔赤:Web前端开发十日谈
  • [ vulhub漏洞复现篇 ] Django SQL注入漏洞复现 CVE-2021-35042
  • [04]Web前端进阶—JS伪数组
  • [2013AAA]On a fractional nonlinear hyperbolic equation arising from relative theory
  • [ACM独立出版]2024年虚拟现实、图像和信号处理国际学术会议(ICVISP 2024)