页面结构
<el-form-item prop="code">
<el-input
v-model="registerForm.code"
type="text"
auto-complete="off"
placeholder="请输入登录验证码"
style="width: 180px"
>
</el-input>
<span :class="{getCodeSpan: true, disabled: timer > 0}" @click="getCode">
{{ timer > 0 ? timer + ' 秒后重新发送' : '发送验证码' }}
</span>
</el-form-item>
script 部分
data() {
return {
timer: 0, //计时器
}
}
methods: {
getCode() {
if (this.timer === 0) {
this.timer = 60;
const interval = setInterval(() => {
this.timer--;
if (this.timer === 0) {
clearInterval(interval);
}
}, 1000);
}
},
}