我想使用两个输入框过滤我的用户数组。
这是我的数组的结构:
$scope.users = [{ id: 1, fname: 'Sophia', lname: 'Smith', email: 'sophia@mail.com' }...
我的输入框名为nameSearch和emailSearch。我想用nameSearch搜索fname和lname属性,同时将emailSearch应用于电子邮件属性。
当我使用像|的简单过滤器时,我发现filter:nameSearch,它搜索整个数组对象。我想将其限制为仅使用fname,lname和email进行搜索。
我已阅读文档并尝试了类似的内容
<li ng-repeat="user in users | filter:{fname: nameSearch, lname: nameSearch, email: emailSearch}">{{user.fname + ' ' + user.lname}}</li>
但它并没有像我想象的那样工作。
我是否必须为此设置自定义过滤器?
答案 0 :(得分:0)
如果您使用所有过滤器,则该组合是所有搜索的AND。
您可以使用基本搜索:
<li ng-repeat="user in users | filter: nameSearch ">{{user.fname + ' ' + user.lname}}</li>
它将检索您搜索的所有字段。
如果您需要更具体地过滤某些字段,可以使用OR逻辑为该操作创建一个函数。