vant组件 弹窗确认按钮设置倒计时5s完成后才能点击

  <template>
  <div>
  <van-dialog
        v-model="isDialogShow"
        title="发信息确认"
        :showConfirmButton = "showConfirmButton"
        @cancel="isDialogShow = false"
    >
    <div style="padding: 2vh">  请确认您本次的信息输入是否正确,保存后将无法修改。</div>
      <template>
        <van-button  style="margin:2vh 10%; width: 80%"
                     color="#26b0f4"
                     size="normal"
                     round
                     native-type="submit" :disabled="countdown > 0" @click="onConfirm">
          {{spanContent}}
        </van-button>
      </template>
    </van-dialog>
  </div>
</template>

<script>
export default {
  data() {
    return {
      showConfirmButton:false,
      isDialogShow: false,
      countdown: 5, // 倒计时秒数
      timer: null, // 计时器
      spanContent:'我已知晓'
}
},
  watch: {
    count(val){
      console.log('count的值',val)
    },
    'isDialogShow': {
      deep:true,
      handler(val){
       if(val === true) {
         this.startCountdown()
       }
      }
      }
  },
 methods: {
   onConfirm() {
      console.log('确认')
      this.isDialogShow = false
      this.countdown = 5
    },
    startCountdown() {
      this.timer = setInterval(() => {
        this.spanContent = `我已知晓(${this.countdown})s`
        if (this.countdown > 0) {
          this.countdown -= 1;
        } else if (this.countdown === 0) {
          this.spanContent = '我已知晓'
          this.clearCountdown();
        }
      }, 1000);
    },
    clearCountdown() {
      clearInterval(this.timer);
      this.timer = null;
    },
}



}
</script>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值