VUE+elementUI实现表单发送验证码倒计时方法

VUE+elementUI实现表单发送验证码倒计时方法

1.HTML代码部分

<el-form-item label="输入验证码" prop="verificationCode">
    <el-input v-model="accountSettingsForm.verificationCode" placeholder="请输入验证码" style="width: 84%"></el-input>
    <el-button icon="el-icon-mobile-phone" @click="send" style="width: 15%" type="success" :disabled="disabled=!show" >  
        <span v-show="show">获取验证码</span>
        <span v-show="!show" class="count">{{count}} s</span>
     </el-button>
</el-form-item>

2.js代码部分

const TIME_COUNT = 60; //更改倒计时时间
 data(){
      return {
        show: true,  // 初始启用按钮
        count: '',   // 初始化次数
        timer: null,
      }
    },

    methods:{
        send(){
            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)
              }
        }   
    }

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 28,080评论 1 45
  • 基于Vue的一些资料 内容 UI组件 开发框架 实用库 服务端 辅助工具 应用实例 Demo示例 element★...
    尝了又尝阅读 4,879评论 0 1
  • element-ui 文档 Vue项目接口文档地址 博客 session 和 cookie等 学什么? 1 如何使...
    cj_jax阅读 9,399评论 0 10
  • 设定人生心目标,开启人生心智慧! 邓小飞丨全息演说智慧导师 1、今天是2018年的第一天,我给今天设定的主题分享是...
    邓小飞学长阅读 1,605评论 0 0
  • 人之初,性本善;性相近,习相远。林肯说:"一个成大事的人,不能处处计较别人,消耗自己的时间去和别人争论,无谓的争...
    仙剑猫阅读 1,930评论 3 4