我正在尝试实现一个简单的搜索文本字段。 我希望它通过过滤他们的姓名和电话号码来显示联系人。似乎每当我输入一封信时,它会显示所有联系人姓名中包含该字母的姓名,但它也会搜索每个联系人的其他属性(地址,城市,邮件等),所以如果联系人的姓名不包含该字母,但仍然显示它的其他属性包含它。 显然,这不是我想要实现的。
我希望它能够通过姓名和电话号码过滤联系人。
<input type="text" ng-model="query" placeholder="search"/>
<div ng-repeat="c in contacts|filter: query"> ...<\div>
我该如何解决这个问题? 谢谢你的帮助
答案 0 :(得分:1)
根据一个字段进行过滤很简单:只需将过滤器更改为| filter:{name: query}
如果两者必须匹配,则根据两个字段进行过滤很简单:只需将过滤器更改为| filter:{name: query, phoneNumber: query}
。
如果您希望 匹配,则根据两个字段进行过滤会更加困难。 Here's someone谁有同样的问题。第一个回复有一个简单的黑客攻击,如果你只是在玩游戏,但如果你有更多的数据,你想要通过this blog post工作。
顺便说一下,你的问题可能被低估了,因为这对谷歌来说并不太难。搜索[angularjs filter by field]让我在那里,然后[ng-repeat过滤多个字段]将我带到了我上面链接的结果。