uniapp 【微信小程序】获取验证码 倒计时

 uniapp 微信小程序 获取验证码 倒计时

1、定义倒计时变量

data() {
		return {
           defaultTime: '',
           model1:{
             validateCode:'',
             phone:''
           }
        }
 }

2、成功获取验证码后,调用verificationDown函数

// 获取验证码
getVerification() {
	// 请求接口获取验证码,然后倒计时
	this.$api.appPhone(this.model1.phone).then(res => {
		this.verificationTime = 120 // 倒数120秒
		this.verificationDown()
	})
},

// 倒计时
verificationDown() {
    // 设置定时器
	this.timer = setInterval(() => {
        this.verificationTime = this.verificationTime - 1
	    if (this.verificationTime < 10) this.verificationTime = '0' + this.verificationTime
            if (this.verificationTime <= 0) {
                // 清除定时器
			    clearInterval(this.timer)
			    this.verificationTime = ''
		    }
	}, 1000)
},

3、页面展示

<u-form-item labelWidth="120rpx" label="手机号" prop="phone" ref="item1">
    <view class="name">
	    <u-input type="number" class="name_inp" v-model="model1.phone" placeholder="请输入手            
            机号" :border="false" >
        </u-input>
	</view>
</u-form-item>
<u-form-item labelWidth="120rpx" label="验证码" prop="validateCode" ref="item1">
	<view class="name">
		<u-input type="number" class="name_inp" v-model="model1.validateCode"       
            placeholder="请输入验证码" :border="false">
        </u-input>
	    <button type="default" size="mini" v-if="!verificationTime"
		    style="margin: 0;margin-left: 20rpx;color: #fff;background: #19be6b;border:0;             
               padding: 0 20rpx;"
             @click="getVerification">获取验证码
        </button>
	    <button type="default" size="mini" v-if="verificationTime" disabled="true"
		    style="margin: 0;margin-left: 20rpx;background: #79be75;color: #fff;border:0; 
            padding: 0 20rpx;" @click="verification">重新获取        
          {{verificationTime}}s
        </button>
    </view>
</u-form-item>

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值