ToB企服应用市场:ToB评测及商务社交产业平台

标题: 基于vue3实现倒计时60s的 [打印本页]

作者: 万万哇    时间: 2024-6-19 22:42
标题: 基于vue3实现倒计时60s的
短信倒计时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企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4