定时器防抖方法
需求
用户在输入框中停止输入后延迟800ms调用后端接口
当用户输入时,会调用 keywordChange 方法。如果输入值存在,它将清除之前的定时器并启动一个新的定时器,等待一段时间后执行节流后的操作。如果输入值为空,则直接执行其他操作。
html
<input
@input="keywordChange"
@focus="keywordFocus"
v-model="name"
placeholder="请输入"
/>
js
data() {
return {
inputTimer: null,
name: ''
}
}
keywordChange(e) {
const { value } = e.mp.detail;
if (value) {
clearTimeout(this.inputTimer);
this.inputTimer = setTimeout(() => {
this.name = value.replace(/^\s+|\s+$/g, '');
// 停止输入800ms后调用接口
this.getKeywordChange();
}, 800);
}
},