vue实现发送短信倒计时和重发短信的功能

js实现发送短信倒计时功能

HTML代码部分

javascript 复制代码
        <el-button @click="queryBtn()" type="primary">发送短信({{countDown}})</el-button>
        <el-button @click="resetBtn()" type="danger" :disabled="resetBtndisab">重发</el-button>

JS代码部分

javascript 复制代码
export default {
    data(){
        return {
            countDown:60, // 默认时间60秒
            countDownTimeout:null,  // 倒计时计数器
            resetBtndisab:true, //重发按钮初始值为不可用
        }
    },
    methods:{
            // 查询按钮
            queryBtn(){
                 this.doCountDown()
            },
            // 重置按钮
            resetBtn(){
                 this.$message({
                        message: '短信验证码已发送,请注意查收!',
                        type: 'success'
                 });
                 this.resetCountDown();
                 this.resetBtndisab=true
            },
            // 倒计时开始
            doCountDown(){
                this.countDownTimeout=setTimeout(()=>{
                    this.countDown--;
                    if(this.countDown<=0){
                            this.resetBtndisab=false
                    }else{
                        this.doCountDown(this.countDown)
                    }
                },1000)
		    },
            // 重置倒计时
            resetCountDown(){
                clearTimeout(this.countDownTimeout);
                this.countDown=60;
            }

    }
}

实际展示效果



相关推荐
海石3 小时前
微信小程序开发01:XR-FRAME的快速上手
前端·增强现实·trae
叶梅树6 小时前
DocsJS npmjs 自动化发布复盘(Trusted Publisher)
前端·npm
喵叔哟6 小时前
9. 【Blazor全栈开发实战指南】--Blazor调用JavaScript
开发语言·javascript·udp
我命由我123456 小时前
Element Plus - Form 的 resetField 方法观察记录
开发语言·前端·javascript·vue.js·html·html5·js
清空mega7 小时前
《Vue3 项目结构详解:components、views、assets、router、stores 到底该怎么理解?》
前端·javascript·vue.js
雨雨雨雨雨别下啦7 小时前
Vue——小白也能学!Day6
前端·javascript·vue.js
XPoet8 小时前
AI 编程工程化:Hook——AI 每次操作前后的自动检查站
前端·后端·ai编程
難釋懷8 小时前
RedisTemplate配置读写分离
前端·bootstrap·html
冰暮流星8 小时前
javascript如何实现删除数组里面的重复元素
开发语言·前端·javascript
网络点点滴10 小时前
透传属性$attrs
前端·javascript·vue.js