[英]AngularJS filter using multiple inputs
我想使用两个输入框过滤用户数组。
这是我的数组的结构:
$scope.users = [{ id: 1, fname: 'Sophia', lname: 'Smith', email: 'sophia@mail.com' }...
我的输入框称为nameSearch和emailSearch。 我想用nameSearch搜索fname和lname属性,同时将emailSearch应用于email属性。
我发现当我使用|等简单过滤器时 filter:nameSearch,它搜索整个数组对象。 我想将其限制为仅使用fname,lname和email搜索。
我已经阅读了文档并尝试了类似的方法
<li ng-repeat="user in users | filter:{fname: nameSearch, lname: nameSearch, email: emailSearch}">{{user.fname + ' ' + user.lname}}</li>
但这并不符合我的预期。
我是否需要编写自定义过滤器才能正常工作?
如果使用所有过滤器,则该组合为所有搜索的AND。
您可以使用以下基本搜索:
<li ng-repeat="user in users | filter: nameSearch ">{{user.fname + ' ' + user.lname}}</li>
它将在您的搜索中检索所有字段。
如果需要更具体地过滤某些字段,则可以使用OR逻辑为该操作创建函数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.