我有一个数据库读取,它返回了我在*ngFor=""
中使用的 JSON,在同一页面中,我有一个按用户名搜索的搜索栏,但我也需要它 o 按用户的描述搜索(如果它与我正在键入的单词有关(。
这是我的代码:
我的搜索栏:
<ion-searchbar placeholder="Search..." (ionInput)="searchUser($event)"></ion-searchbar>
我的搜索用户方法(与离子 2 文档给你的相同(:
searchUser(ev: any) {
// Reset items back to all of the items
this.initializeItems();
// set val to the value of the searchbar
let val = ev.target.value;
// if the value is an empty string don't filter the items
if (val && val.trim() != '') {
this.items = this.items.filter((item) => {
return (item.name.toLowerCase().indexOf(val.toLowerCase()) > -1);
})
}
}
还有我的 JSON 示例
{
"key": {
"name": name,
"description": desc,
"city": city,
"state": state,
}, ...
}
到目前为止,我唯一尝试的就是为我的回报添加&& item.description.toLowerCase().indexOf(val.toLowerCase()) > -1
,但我一无所获。
实现这一目标的最佳方法是什么?与提供商合作?我返回的正确代码行?
谢谢:)
我认为您应该使用 OR ||
运算符而不是 AND &&
。
使用&&
,您将只看到与名称和描述匹配的结果。
试试这个,
var searchedText = item['name'] + item['surname'];
return (searchedText.toLowerCase().includes(val.toLowerCase()));
定义要搜索的额外字段。