【问题标题】:How to filter data in AngularJS如何在 AngularJS 中过滤数据
【发布时间】:2017-10-23 16:46:09
【问题描述】:
我正在尝试实现一个简单的搜索文本字段。
我希望它通过过滤他们的姓名和电话号码来显示联系人。似乎每当我输入一个字母时,它都会向我显示姓名中包含该字母的所有联系人姓名,但它还会搜索每个联系人的其他属性(地址、城市、邮件等),所以如果联系人的姓名不包含该字母,它仍然显示,因为它的其他属性包含它。
显然这不是我想要实现的。
我希望它能够按姓名和电话号码过滤联系人。
<input type="text" ng-model="query" placeholder="search"/>
<div ng-repeat="c in contacts|filter: query"> ...<\div>
我该如何解决这个问题?
感谢您的帮助
【问题讨论】:
标签:
angularjs
input-filtering
【解决方案1】:
根据一个字段进行过滤很简单:只需将您的过滤器更改为| filter:{name: query}
如果两个字段都必须匹配,则很容易根据两个字段进行过滤:只需将过滤器更改为| filter:{name: query, phoneNumber: query}。
如果您希望 任一 匹配,则更难根据两个字段进行过滤。 Here's someone 谁有同样的问题。如果您只是在玩,第一个响应有一个简单的技巧,可以让事情正常工作,但如果您有更多数据,您将希望通过this blog post 工作。
顺便说一句,您的问题可能被否决了,因为这对 Google 来说并不太难。搜索 [angularjs filter by field] 让我走到了一半,然后 [ng-repeat filter multiple fields] 将我带到了上面链接的结果。