基于vue3实现倒计时60s的

打印 上一主题 下一主题

主题 623|帖子 623|积分 1869

短信倒计时60s

使用vue3的computed盘算属性
  1.    <n-button type="primary" :disabled="btnDisabled" @click="handleClick">
  2.             {{Countdown}}
  3.      </n-button>
  4.      <n-input v-model:value="model.inputSign" placeholder="请输入验证码" clearable/>
复制代码
  1.     const btnDisabled = ref(false)
  2.     const second = ref(null)
  3.     const timer = ref(null)
  4.     //计算属性实时更新
  5.     const Countdown = computed(() => btnDisabled.value ? `重新获取 ( ${second.value} ) s` : '获取验证码')
  6.                 //获取验证码
  7.                 handleClick() {
  8.                        //简单节流
  9.                     if (btnDisabled.value) {
  10.                         return
  11.                     }
  12.                     getCode()
  13.                 },
  14.                 // 倒计时效果
  15.                 getCode() {
  16.                     let s = 60  //倒计时间
  17.                     if (!timer.value) {
  18.                         second.value = s
  19.                         btnDisabled.value = true
  20.                         timer.value = setInterval(() => {
  21.                             if (second.value > 0 && second.value <= s) {
  22.                                 second.value--
  23.                             } else {
  24.                                 btnDisabled.value = false
  25.                                 clearInterval(timer.value)
  26.                                 timer.value = null
  27.                             }
  28.                         }, 1000)
  29.                     }
  30.                 }
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

万万哇

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表