我想知道如何使用Angular的searchText过滤器搜索指定的数组。目前,我正在使用ng-repeat和filter:searchText基于输入。
问题是ng-repeat使用完整数组的切片。所以它遍历10个100的记录。我需要它来搜索完整的数组而不是它使用的数据集。
<input ng-model="searchText" id="ldrSearch" class="form-control" placeholder="Search" name="Search" type="text">
<tr id="row%% $index %%" ng-click="toggleDetails($event,true)" ng-repeat-start="user in users | filter:searchText" class="leaderboardrow"> ... </tr>
答案 0 :(得分:0)
我能够通过@zeroflagL
的建议解决这个问题如果您过滤切片,那么您当前可能少于10 条目,但你想过滤整个数据集,总是有10个 条目显示?条目和页面动态变化?在 那种情况下我会使用整个数组而不是切片并添加一个 第二个(自定义)过滤器,仅显示当前切片。
以及this SO post。
唯一的区别是,在我的“切片”中,我使用变量来设置开始和结束。
<tr id="row%% $index %%" ng-click="toggleDetails($event,true)" ng-repeat-start="user in users | filter:searchText | page:start:end"> .. </td>
app.filter('page',function()
{
return function(arr,start,end)
{
return (arr || []).slice(start, end);
};
});