Vue 获取验证码倒计时组件
子组件
<template>
<a class="getvalidate":class="{gray: (!stop)}"@click='clickHandler'>
{{ stop ? '获取验证码' : `(${mytimer})秒后重新获取` }}
</a>
</template> <script>
export default {
name: 'getvalidate',
data () {
return {
stop : true,
mytimer: this.timer,
Interval: null,
}
},
methods: {
clickHandler (e) {
if (this.stop) {
// 调用外部绑定的倒计时,并且给它开关
this.$emit('click', this.startTimer);
}
},
update () {
if (this.mytimer <= 1) {
// 重置计数
this.mytimer = this.timer
// 清除计时器
clearInterval(this.Interval)
// 允许启动倒计时
this.stop = true
} else {
// 倒计时
this.mytimer--;
}
},
startTimer () {
// 开始循环执行update函数
this.Interval = setInterval(this.update, 1000)
// 禁止启动倒计时
this.stop = false;
}
},
props: {
timer: {
default: 60,
type: Number
}
}
}; </script> <style lang="scss" scoped>
@import "./../sass/variables";
@import "./../sass/func"; .getvalidate {
color: #0e6ae7;
font-size: pxToRem(28px);
width: 100%;
text-align: right; &.gray {
color: #999;
}
}
</style>
父组件调用示例
<template>
<div id="ForgetPwd">
<div class="form">
<mt-field topLabel = '请输入手机号' errTopLabel='' type = "number" placeholder = '请输入11位手机号码' v-model = 'user' :maxlength = '11'></mt-field>
<mt-field topLabel = '验证码' errTopLabel='' type = "number" placeholder = '请输入6位验证码' v-model = 'validate' :maxlength = '6'>
<getvalidate slot="icon" @click="getCode"></getvalidate>
</mt-field>
<button class="button" :class="{disable: user === '' || validate === ''}" @click="go">下一步</button>
</div>
</div>
</template> <script>
import mtField from '@components/field/field.vue'
import Toast from '@components/toast/index.js'
import Loader from '@components/loader/index.js'
import getvalidate from '@myComponents/getvalidate' export default {
name: 'ForgetPwd',
data () {
return {
user:'13713332652',
validate: '123456'
}
},
methods: {
go () { },
getCode (cb) {
Loader.show("正在获取验证码")
window.setTimeout(_ => {
Loader.hideAll()
cb()
}, 2000)
},
},
components: {
mtField,
getvalidate
}
}
</script>
Vue 获取验证码倒计时组件的更多相关文章
- vue获取验证码倒计时
<template> <div> <el-button :disabled="disabled" @click="sendcode" ...
- vue实现验证码倒计时60秒的具体代码
vue实现验证码倒计时60秒的具体代码 <span v-show="show" @click="getCode">获取验证码</span> ...
- Andorid实现点击获取验证码倒计时效果
这篇文章主要介绍了Andorid实现点击获取验证码倒计时效果,这种效果大家经常遇到,想知道如何实现的,请阅读本文 我们在开发中经常用到倒计时的功能,比如发送验证码后,倒计时60s再进行验证码的获取 ...
- Android 获取验证码倒计时实现
Android 获取验证码倒计时实现 2017年10月24日 09:55:41 FBY展菲 阅读数:2002 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.cs ...
- angular中service封装$http做权限时拦截403等状态及获取验证码倒计时、跨域问题解决
封装$http.做权限时拦截403等状态及获取验证码倒计时: 拦截接口返回状态 var app = angular.module('app'); app.factory('UserIntercepto ...
- 前端学习——ionic/AngularJs——获取验证码倒计时按钮
按钮功能为:点击"获取验证码"--按钮不可用-设置倒计时-60秒后重新获取. 代码借鉴于:http://plnkr.co/edit/Swj82MpJSix3a47jZRHP?p= ...
- Android中注册获取验证码倒计时按钮
public class CountDownTimerUtils extends CountDownTimer { private TextView mTextView; /** * @param t ...
- iOS开发之--获取验证码倒计时及闪烁问题解决方案
大家在做验证码的时候一般都会用到倒计时,基本上大家实现的方式都差不多,先贴出一些代码来.. -(void)startTime{ __block ; //倒计时时间 dispatch_queue_t q ...
- js点击按钮获取验证码倒计时
//发送验证码倒计时 var clock = ''; var nums = 60; var btn; $("#btnGetVerCode").click(function () { ...
随机推荐
- Dfs【p4306(bzoj 2208)】 [JSOI2010]连通数
Description 度量一个有向图恋情情况的一个指标是连通,指途中可达点对的个数. 下图的连通数是14 现在要你求出连通数 Input 输入数据第一行是图顶点的数量,一个正整数N. 接下来N行,每 ...
- 机器人搬重物(BFS)
机器人搬重物 时间限制: 1 Sec 内存限制: 128 MB提交: 22 解决: 10[提交][状态][讨论版] 题目描述 机 器人移动学会(RMI)现在正尝试用机器人搬运物品.机器人的形状是一 ...
- 最小生成树(Kruskal)(并查集)
最小生成树 时间限制: 1 Sec 内存限制: 64 MB提交: 11 解决: 2[提交][状态][讨论版] 题目描述 某个宇宙帝国有N个星球,由于宇宙的空间是三维的,因此每个星球的位置可以用三维 ...
- @RequestParam注解的使用
自SpringMVC4.2之后,RequestParam内部有4个参数: 1.String name; 2.String value; 3.boolean required; 4.String def ...
- 使用history命令查看作业的整体执行情况
1)通过使用history命令,我们可以深入到一个Job的任务级层面查看执行最快的任务,以及执行最慢的任务,以及其他的有用信息.命令如下: hadoop job -history /output “/ ...
- Google开源C++单元测试框架Google Test
1.玩转Google开源C++单元测试框架Google Test系列(gtest)之一 - 初识gtest 2.玩转Google开源C++单元测试框架Google Test系列(gtest)之二 - ...
- Error (10663): Verilog HDL Port Connection error at led_demo.v(6): output or inout port "led" must be connected to a structural net expression
错误现象:
- 三星s3c24xx平台GPIO操作详解
转:http://blog.chinaunix.net/uid-22030783-id-3391515.html 先介绍三星S3C24XX平台BSP中定义外设寄存器和GPIO的相关头文件 以linux ...
- iOS 中json解析数据出现中文乱码的问题
一般服务器的编码格式都是UTF8,这样通过json解析下来的的数据,一般中文是不会出现乱码,但是如果服务器的编码格式不是UTF8,通过json解析的数据中的中文容易出现luan乱码,怎么解决这个问题呢 ...
- fl2440字符设备led驱动
首先要明白字符设备驱动注册的基本流程 当我们调用insomd命令加载驱动后,驱动程序从module_init函数开始执行:硬件初始化 -> 申请主次设备号 -> 定义fops(file_o ...