vue代码

<template>
  <div>
    <!-- 点击按钮后倒计时 -->
    <el-button @click="signUp_asd" type="success" :disabled="!show">
      获取验证码
      <span v-show="!show" class="count">({{count}}s)</span>
    </el-button>
  </div>
</template>

<script>
const TIME_COUNT = 30; //更改倒计时时间
export default {
  mounted() {},
  name: "MyApp",
  data() {
    return {
      //60秒验证码发送
      show: true, // 初始启用按钮
      count: "", // 初始化次数
      timer: null,
      form: {
        code: ""
      }
    };
  },
  methods: {
    signUp_asd() {
      //60秒验证码
      if (!this.timer) {
        this.count = TIME_COUNT;
        this.show = false;
        this.timer = setInterval(() => {
          if (this.count > 0 && this.count <= TIME_COUNT) {
            this.count--;
          } else {
            this.show = true;
            clearInterval(this.timer); // 清除定时器
            this.timer = null;
          }
        }, 1000);
      }
    }
  }
};
</script>

 
<style scoped>
</style>

 效果

 

posted on 2023-02-26 00:44  鲤斌  阅读(235)  评论(0)    收藏  举报