点击按钮倒计时 <button @click="getlogin" class="btn-bottom" type="primary" :disabled="disabled">{{ btnText }}</button>

data定义

 data () {
    return { 
        // 获取验证码
        disabled: false,
        interval:undefined,
        totalCount:0,
  • 计算属性监视
  •  computed: {
          btnText(){
             return this.totalCount !==0? `${this.totalCount}秒再次获取`: "获取验证码"
    
  • methods
  • getlogin(){
              // 按钮60秒倒计时
                this.disabled=true
                this.totalCount=60
                this.getCode()   //60秒过倒计时过后才能调用的事件
                this.interval=setInterval(()=>{
                  this.totalCount--
                  if(this.totalCount === 0){
                    clearInterval(this.interval)
                    this.disabled=false
                },1000);
    
  • 60秒过倒计时过后才能调用的事件
  •  getCode(){
            limingru
            Vue.js
                
    • 495
    • 156