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