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;
            }

    }
}

实际展示效果



相关推荐
Joker Zxc4 分钟前
【前端基础(Javascript部分)】6、用JavaScript的递归函数和for循环,计算斐波那契数列的第 n 项值
开发语言·前端·javascript
Highcharts.js7 分钟前
React 图表如何实现下钻(Drilldown)效果
开发语言·前端·javascript·react.js·前端框架·数据可视化·highcharts
橙露27 分钟前
Webpack/Vite 打包优化:打包体积减半、速度翻倍
前端·webpack·node.js
chushiyunen32 分钟前
python中的魔术方法(双下划线)
前端·javascript·python
楠木6851 小时前
从零实现一个 Vite 自动路由插件
前端
终端鹿1 小时前
Vue2 迁移 Vue3 避坑指南
前端·javascript·vue.js
进击的尘埃1 小时前
Signals 跨框架收敛:TC39 提案、Solid、Angular、Preact 的实现差异与调度策略对比
javascript
程序员陆业聪1 小时前
工程师的瓶颈,已经不是代码了
前端
毛骗导演1 小时前
@tencent-weixin/openclaw-weixin 源码ContextToken 持久化改造:实现微信自定义消息发送能力
前端·架构
爱丽_1 小时前
Pinia 状态管理:模块化、持久化与“权限联动”落地
java·前端·spring