如何在AngularJS中过滤数据

时间:2017-10-23 16:46:09

标签: angularjs input-filtering

我正在尝试实现一个简单的搜索文本字段。 我希望它通过过滤他们的姓名和电话号码来显示联系人。似乎每当我输入一封信时,它会显示所有联系人姓名中包含该字母的姓名,但它也会搜索每个联系人的其他属性(地址,城市,邮件等),所以如果联系人的姓名不包含该字母,但仍然显示它的其他属性包含它。 显然,这不是我想要实现的。

我希望它能够通过姓名和电话号码过滤联系人。

<input type="text" ng-model="query" placeholder="search"/>
<div ng-repeat="c in contacts|filter: query"> ...<\div>

我该如何解决这个问题? 谢谢你的帮助

1 个答案:

答案 0 :(得分:1)

根据一个字段进行过滤很简单:只需将过滤器更改为| filter:{name: query}

如果两者必须匹配,则根据两个字段进行过滤很简单:只需将过滤器更改为| filter:{name: query, phoneNumber: query}

如果您希望 匹配,则根据两个字段进行过滤会更加困难。 Here's someone谁有同样的问题。第一个回复有一个简单的黑客攻击,如果你只是在玩游戏,但如果你有更多的数据,你想要通过this blog post工作。

顺便说一下,你的问题可能被低估了,因为这对谷歌来说并不太难。搜索[angularjs filter by field]让我在那里,然后[ng-repeat过滤多个字段]将我带到了我上面链接的结果。