Angularjs 基于不同数组过滤搜索文本

Angularjs 基于不同数组过滤搜索文本,angularjs,angularjs-ng-repeat,Angularjs,Angularjs Ng Repeat,我想知道如何使用Angular的searchText筛选器搜索指定的数组。目前,我正在使用ng repeat and filter:基于输入的搜索文本 问题是ng repeat使用完整数组的一个片段。所以它循环了10条100条记录。我需要它来搜索整个数组,而不是它使用的数据集 <input ng-model="searchText" id="ldrSearch" class="form-control" placeholder="Search" name="Search" type="te

我想知道如何使用Angular的searchText筛选器搜索指定的数组。目前,我正在使用ng repeat and filter:基于输入的搜索文本

问题是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>

... 

我在@zeroflagL的建议下解决了这个问题


如果过滤切片,则当前可能少于10个 条目,但您希望过滤整个数据集,并且始终有10个 显示的条目?随着条目和页面的动态变化?在里面 在这种情况下,我将使用整个数组而不是一个切片,并添加一个 第二个(自定义)过滤器,仅显示当前切片

以及

唯一的区别是,对于我的“切片”,我使用变量来设置开始和结束

<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);
        };
    });
。。
app.filter('页面',函数())
{
返回功能(arr、开始、结束)
{
返回(arr | |[])。切片(开始、结束);
};
});

Angular没有
searchText
过滤器
filter:searchText
表示表达式为
searchText
filter
过滤器。是吗?一些代码可能会有帮助。很抱歉。是的,searchText引用了一个带有ng模型“searchText”的输入,它在用户数组中搜索传递的字符串。但是,用户是主用户列表的一个子集,因为我们内置了一些自定义分页。因此,当我们点击下一页按钮时,用户将被更新到主数组的一部分。我基本上想在搜索时过滤主用户数组。愚蠢的问题:如果你想过滤整个数组,那么为什么要过滤切片呢?我想这是问题的一部分。我在ng repeat中添加了过滤器,它过滤切片数据,因为ng repeat使用的就是这个。我们一次只想显示10条记录,这就是为什么我们要对其进行切片。我们有一个按钮,将“页面”的结果-给不同的偏移显示一个新的切片。也许有更好的分页方式?如果过滤切片,则当前可能只有不到10个条目,但您希望过滤整个数据集并始终显示10个条目?随着条目和页面的动态变化?在这种情况下,我将使用整个数组而不是切片,并添加第二个(自定义)过滤器以仅显示当前切片。