根据搜索输入过滤ng-repeat

los*_*ion 4 angularjs angularjs-ng-repeat angularjs-filter

我有以下html:

  <div>
    <div>
      <input type="text" placeholder="Search" ng-model="userSearch.firstname">
    </div>
  </div>

 <div>
   <div ng-repeat="user in users | filter:userSearch ">
     <div>
       {{user.firstname}} {{user.lastname}}
     </div>
   </div>
 </div>
Run Code Online (Sandbox Code Playgroud)

所以我有一个输入字段,用户可以在我的所有用户列表中键入和搜索.有没有办法可以根据用户在搜索输入中输入的内容在ng-repeat中应用内联过滤器?

当前解决方案仅过滤firstname

我想过滤名字和姓氏

尝试:

  <div>
    <div>
      <input type="text" placeholder="Search" ng-model="userSearch">
    </div>
  </div>

 <div>
   <div ng-repeat="user in users | filter:{firstname: userSearch, lastname: userSearch} ">
     <div>
       {{user.firstname}} {{user.lastname}}
     </div>
   </div>
 </div>
Run Code Online (Sandbox Code Playgroud)

但我认为这是一个AND而非一个或.

Awe*_*ary 10

将ng-model更改userSearch.firstname为just userSearch.

 <input type="text" placeholder="Search" ng-model="userSearch">
Run Code Online (Sandbox Code Playgroud)

http://jsbin.com/keyuno/1/edit?html,js,output

或者你可以filter:userSearch改为filter:userSearch.firstname.您只需要确保过滤器与模型匹配.