用户在输入的时候下方会出现搜索词列表,如果不做处理,用户每次输入 的时候都会请求数据,这样太浪费性能,这个时候就要用到函数防抖了
首先在data外部定义一个防抖函数的id
然后在输入的方法里面进行处理,在发送请求之前添加一个定时器,延时1秒钟执行。
//输入搜索内容
changeSearch(e){
this.setData({
inputValue: e.detail.value,
isList: true,
isQuestion: false
})
//对输入的内容进行防抖,防止重复请求
if(this.timeID)
clearTimeout(this.timeID)
this.timeID = setTimeout(() => {
this.getSearchList(e.detail.value)
},1000)
if(!e.detail.value){
this.setData({
isList: false,
isQuestion: true
})
}
},