对于一个按钮来说,如果想要避免一段时间内,多次发起请求,
除了采用“节流”,还可以借助定时器来实现。
话不多讲,直接看代码:
HTML:
<el-button type="primary" :disabled="state" @click="saveData"> 确定 <span v-if="state">({{stateNum}})</span> </el-button>
data:
state: false,
stateNum: 3,
methods:
saveData () {
if (!this.state) {
// 执行网络请求
this.state = true
this.stateNum = 3
let timer = setInterval(() => {
this.stateNum--
if (this.stateNum === 0) {
clearInterval(timer)
this.state = false
}
}, 1000)
}
}
码字不易,点赞鼓励。。。