微信小程序配合Tdesign实现验证码倒计时

该代码段展示了如何在微信小程序中实现点击发送验证码的功能,包括WXML和JS部分。当用户点击发送按钮后,会启动一个60秒的倒计时,期间按钮变为禁用状态,并更新按钮文本显示剩余秒数。倒计时结束后,恢复发送验证码的按钮状态。
摘要由CSDN通过智能技术生成

效果

在这里插入图片描述
点击发送验证码后
在这里插入图片描述

实现

wxml

        <view class="userName">
          <view class="name">Code.
            <text>*</text>
          </view>
          <t-input placeholder="" value="{{code}}" type="number"  bindchange="onPhoneInput" style="{{style}}">
            <view slot="suffix" style="display: flex; align-items: center">
              <view class="suffix--line"></view>
              <view class="verify" aria-role="button" bindtap="sendVerificationCode" disabled="{{isWaiting}}">
                {{verificationButtonText}}
              </view>
            </view>
          </t-input>
        </view>

js

Page({
  data: {
    code: '',
    isWaiting: false,
    remainingSeconds: 60,
    verificationButtonText: '发送验证码'
  },

  onPhoneInput(event) {
    // 处理手机号输入
    this.setData({
      phoneNumber: event.detail.value
    });
  },

  sendVerificationCode() {
    // 发送验证码时的处理
    if (this.data.remainingSeconds === 60) {
      // 设定倒计时定时器
      const countdownIntervalId = setInterval(() => {
        this.setData({
          remainingSeconds: this.data.remainingSeconds - 1,
          verificationButtonText: `${this.data.remainingSeconds}s`
        });
        // 倒计时结束
        if (this.data.remainingSeconds === 0) {
          clearInterval(countdownIntervalId);
          this.setData({
            remainingSeconds: 60,
            verificationButtonText: '发送验证码',
            isWaiting: false
          });
        }
      }, 1000);
      this.setData({
        isWaiting: true
      });
    }
  }
});

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林多多@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值