根据不同的数组过滤searchText

时间:2015-01-26 11:14:00

标签: angularjs angularjs-ng-repeat

我想知道如何使用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>

1 个答案:

答案 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);
        };
    });