Ng表选择过滤问题

时间:2017-08-23 15:15:59

标签: javascript angularjs ngtable

我正在尝试使用select下拉过滤ng-table数据,问题是选择下拉列表中的值没有填充且ofcos过滤不起作用,我使用的是ng-table 2.1.0版本。我尝试将$ scope.names对象更改为硬编码对象,即$scope.names=[{title:'Moroni'},{title:'Enos'},{title:'Jacob'}];然后在选择下拉列表中填充值我假设必须有属性' title'对于每个对象,但仍然过滤也不起作用,这里有什么遗漏? plunker Here

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

我可以从ngOptions属性中的表达式中看到:

ng-options="data.id as data.title for data in $selectData"

选项的格式应为{id: ..., title: ...}。所以我认为您可以使用以下内容更改angular.forEach块:

  var titles = data.map(function(obj) { return obj.title; });
  $scope.names = titles.filter(function(title, i) { return titles.indexOf(title) === i; })
                       .map(function(title) { return {title: title, id: title}; });

这不是生成此数组的最快方法(添加它只是为了说明结构)。更高效的方法could be found here

Working fiddle.

相关问题