vue 获取验证码倒计时

思路:点击“获取验证码”,向后台请求成功,按钮不可点击,时间倒计时;

HTML:

<Button @click="getCodeFun" :disabled="disabled" >
                            <template v-if="sending">
                                获取验证码
                            </template>
                            <template v-else>
                               {{second}}秒后重发
                            </template>                            
</Button>

 

JS:

                sending: true,      //是否发送验证码
                disabled: false,   //是否禁发验证码
                second:60,        //倒计时间

 

getCodeFun()
            {

               //his.sending原为true,请求成功,!this.sending == true,主要是防止有人把disabled属性去掉,多次点击;
                if( !this.sending )
                    return;

                getCode(this.params.phone).then( res => {
                    this.sending  = false;
                    this.disabled = true;
                    this.timeDown();
                });
            },
            timeDown()
            {
                let result = setInterval( ()=>{
                    --this.second;
                    if(this.second < 0)
                    {
                        clearInterval(result);
                        this.sending  = true;
                        this.disabled = false;
                        this.second = 60;
                    }                   
                }, 1000);
                
            },

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值