离子 2 搜索栏按 2 个属性过滤



我有一个数据库读取,它返回了我在*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()));

定义要搜索的额外字段。

相关内容

  • 没有找到相关文章

最新更新