uniapp-搜索框防抖处理

820 阅读1分钟

接上一篇文章,做了个搜索框

做完后准备总不能一直触发事件,做一个防抖处理,思路大概是这样的,无论她怎么输入都会在输入停止后的0.5秒后触发事件,中间但凡不足0.5秒就重新记时,

获取数据的方法叫getSearchInfo(value),

防抖的方法:

throttle(value,wait = 500){

let _that = this;

if(timeout) clearTimeout(timeout); // 如果timeout存在值,则清除timeout

timeout = setTimeout(() => {

_that.getSearchInfo(value)

timeout = undefined;

}, wait);

},

          timeout = undefined;

因为时计时器所以this需要在外面声明,

注意!!方法里面的timeout要声明在外面作为全局变量,不然的话效果会变成每一次操作都0.5秒执行一次(),而不会等操作停止后的0.5秒执行,失去了防抖的作用。