繁体   English   中英

使用多个输入的AngularJS过滤器

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM