zoukankan      html  css  js  c++  java
  • vue 发送短信验证码倒计时

    引入iview.css/vue.js/iview.js
    
    HTML:
    <div id="main" class="main">
          <i-Input class="code"  size="large">
           <timer-btn slot="append" @click.native="sendCode()" :disabled="disabled" ref="btn" :second="60"></timer-btn>
          </i-Input>
      </div>
    
    JS:
    <script type="text/javascript">
      Vue.component('timerBtn', {
      template: '<i-Button :disabled="disabled || time > 0">{{ text }}</i-Button>',
      props: {
        second: {
          type: Number,
          'default': 60 
        },
        disabled: {
          type: Boolean,
          'default': false
        }
      },
      // 初始化时间
      data: function() {
        return {
          time: 0
        };
      },
      methods: {
        run: function() {
          this.time = this.second;
          this.timer();
        },
        stop: function(){
             this.time = 0;
             this.disabled = false;
        },
        timer: function() {
          if (this.time > 0) {
            this.time--;
            setTimeout(this.timer, 1000);
          }
        }
      },
      computed: {
        text: function() {
          return this.time > 0 ? this.time + 's再获取' : '获取验证码';
        }
      }
    }); 
    
    
    
    var vm = new Vue({
        el:'#main',
        data: {
          disabled: false
        },
        methods:{
            sendCode:function(){
                vm.$refs.btn.run(); //启动倒计时
                vm.disabled = false;
            }
        }
    });
     </script>
  • 相关阅读:
    maven错误
    angularjs的一点总结
    工具汇总
    重启outlook的bat脚本
    前端框架参考
    imply套件以及plyql的安装
    centos下nodejs,npm的安装和nodejs的升级
    kafka错误集锦
    动态规划DP笔记
    链接
  • 原文地址:https://www.cnblogs.com/gaomanito/p/9505816.html
Copyright © 2011-2022 走看看