Angular:对于过滤列表的下拉列表,是否可以在每个下拉选项中添加计数器?

时间:2015-09-08 10:48:15

标签: angularjs

我有一个用于过滤数据列表的下拉列表。

我还有一个计数器(位于下拉列表下方),显示过滤器返回了多少结果。

但是,是否可以将计数器附加到下拉列表中的每个选项?因此,下拉选项看起来像这样......

Show all (6)
Show x (2)
Show y (1)
Show z (3)

目前每个选项总是显示相同的数字(见下文),因为它只获得当前的过滤值...

Show all (6)
Show x (6)
Show y (6)
Show z (6)

是否可能,或者我对过滤器的期望过高?

以下是我的意思:Example

1 个答案:

答案 0 :(得分:1)

您可以按照以下方式获得:

在控制器中添加以下功能:

$scope.getCount = function(rating){
    var count = 0;
    var list = $filter('filter')($scope.data, {'rating' :rating}, true);
    if(list != null){
      count = list.length;
    }
    return count;
  };

更新html中的代码,如下所示:

ng-options="item.name + ' (' + (getCount(item.rating)) + ') ' for item in filterOptions.stores">

更新了Plunker:http://plnkr.co/edit/Q5Vs1mqomQJWmZdxRRxp?p=preview

希望这会有所帮助!!