Skip to content
目录

定时器防抖方法

需求

  • 用户在输入框中停止输入后延迟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);
      }
    },

Released under the MIT License.