角度.js滤镜仅显示 20 个元素



我是angularjs新手。在这里,我正在使用过滤器,我有一个元素列表。我有一个searchBox.所以,在这里

<li class="list-group-item" ng-repeat="suggestion in suggestionList | filter:suggestionListSearchText | limitTo: -20 track by $index"

在这里,我没有添加结尾li tag.现在,当我打开列表时,它显示了最后20 elements是正确的。但是当我搜索列表项上发生搜索的位置时,如果我搜索一个元素n那么它只给了我 20 个带有单词 n 而不是所有元素的元素。那么,谁能告诉我这背后的原因?

首先,您可以使用ng-initlimitTo值分配给变量

<li ng-init="limit = 20" class="list-group-item" ng-repeat="suggestion in suggestionList | filter:suggestionListSearchText | limitTo: limit track by $index">

在搜索输入中使用 ng-change 和三元运算来分配limit变量。

<input  ng-model="suggestionListSearchText" ng-change="limit = ( suggestionListSearchText ? '' : 20 )" />