【问题标题】:Angular.js filter shows only 20 elementsAngular.js 过滤器仅显示 20 个元素
【发布时间】:2018-03-20 14:04:48
【问题描述】:

我是 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 而不是所有元素。那么,谁能告诉我这背后的原因?

【问题讨论】:

  • 该过滤器上有一个 limitTo 属性
  • 这就是limitTo 所做的
  • 是的,但我只想在显示所有列表时对建议进行过滤,当我搜索时它应该显示所有元素,它不应该在搜索中。

标签: javascript jquery angularjs angularjs-filter


【解决方案1】:

首先,您可以使用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 )" /> 

【讨论】:

    猜你喜欢
    • 2016-09-04
    • 2017-04-16
    • 2021-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-18
    • 1970-01-01
    相关资源
    最近更新 更多