在vuex定义了个倒计时方法,页面刷新后在mounted引用
<el-butto @click="getVerifyCode":disabled="disabled">
{{ disabled ? `${count}s` : '点击发送验证码' }}
</el-button>
computed: {
count() {
return this.$store.state.paymentRunTime;
},
},
getVerifyCode(){
this.disabled = true;
this.$store.commit("TimeReduction", {time: 60})
}
mounted() {
if (sessionStorage.getItem("time")) {
this.disabled=true;
this.$store.commit("TimeReduction", {
time: sessionStorage.getItem("time")
});
}
}
paymentRunTime: sessionStorage.getItem('time')
TimeReduction(state,{time}) {
state.paymentRunTime=time
let timerId = setInterval(() => {
if (state.paymentRunTime === 0) {
sessionStorage.removeItem("time")
return clearInterval(timerId)
}
state.paymentRunTime --;
sessionStorage.setItem('time', state.paymentRunTime)
}, 1000);
},