【发布时间】:2018-05-05 17:28:49
【问题描述】:
在搜索栏中键入时,鼠标事件会在键入时暂停几秒钟,直到加载数据(似乎每个单击事件都会触发数据在搜索中加载)这发生在前几次键入时使用搜索过滤器管道)没有搜索管道它仍然很慢。请帮忙谢谢 请点击链接查看stackblitz示例:
https://ionic-6cbe9t.stackblitz.io
searchFilter(searchTerm){
if(searchTerm != ''){
searchTerm = searchTerm.toLowerCase();
}
if(!this.listFromArray){
return Immutable.List();
}
if(!searchTerm){
return this.listFromArray;
}
return this.listFromArray.filter((address) => {
return address.Company.toLowerCase().includes(searchTerm) ||
address.Phone.toString().includes(searchTerm) ||
address.Street.toLowerCase().includes(searchTerm) ||
address.City.toLowerCase().includes(searchTerm) ||
address.Phone.includes(searchTerm);
});
}
【问题讨论】:
-
在 Observable 中添加 debounceTime 或添加条件以检查长度是否大于 3 个字符...(注意:如果不知道您正在使用的代码,很难尝试提供帮助)
-
嗨,谢谢,我正在使用简单的搜索过滤器管道。过滤一组项目。然后我将过滤器添加到 *ngFor="let item of Items | filterItems: searchTerm"。
-
-
我把如何使用 debounceTime 进行一般搜索。我希望这对你有帮助。无论如何,如果您在加载项目时添加一个新属性“searchTerms”,也许您可以改进
标签: javascript angular performance search ionic-framework