对angularjs 1.3.6的更新破坏了我的一些过滤器。
我尝试修复它们并转到this解决方案。
隐藏默认选项:
<select ng-model="search.type" ng-options="g.id as g.name for g in group">
<option ng-show="false" value="">Any</option>
</select>
添加&#39;任何&#39;不会过滤列表的选项。
$scope.group = [];
$scope.group[0] = {id:'',name:'Any'};
有没有人有更好的解决方案呢?使用这个ng-show技巧对我来说似乎不太好。
答案 0 :(得分:0)
你做的几乎都是正确的。缺少2件事,然后你不需要ng-show
hack:
<select>
的ViewModel属性成为实际的过滤对象,而不仅仅是Id
属性,并相应地更改过滤字符串。<select>
设置为正确的选项。1)
<div ng-repeat="item in items| filter:search.type">
{{item.name}}
</div>
<select ng-model="search" ng-options="g as g.name for g in group">
</select>
2)
$scope.search = $scope.group[0] = {id:'',name:'Any'};
更新了jsFiddle