Hej伙计,
我有一个简单的问题,但我找不到解决方案。 我有一个搜索输入字段,您可以在所有列的表中搜索。但我想跟踪ngRepeat中的项目,但它还没有用。
这是搜索项目的输入字段:
<div>
<input type="search" ng-model="searchText" />
</div>
表格与ngRepeat:
...
<tr ng-repeat="item in filtered = (persons | filter:searchText track by item.name)">
<td>{{ item.id }}</td>
<td>{{ item.name }}</td>
</tr>
...
任何人都可以帮助我吗? :)
答案 0 :(得分:2)
据我了解,您不需要跟踪,只需filter
<tr ng-repeat="item in persons | filter:{ name: searchText} ">
angular.module('app', [])
.controller('ctrl', function($scope) {
$scope.persons = [{
name: 'a',
id: 1
}, {
name: 'aa',
id: 2
}, {
name: 'aaaa',
id: 3
}, {
name: 'aaaaa',
id: 4
}, {
name: 'aaaaaa',
id: 5
}, {
name: 'aaaaaaa',
id: 6
}];
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="ctrl">
<div>
<input type="search" ng-model="searchText" />
</div>
<table>
<tr ng-repeat="item in persons | filter:{name:searchText}">
<td>{{ item.id }}</td>
<td>{{ item.name }}</td>
</tr>
</table>
</div>