我在ng repeat中使用了一个过滤器,当我导航到页面时(显示所有内容-不过滤任何内容),当我过滤时,它运行良好。只有当我选择<选项><选项>。比什么都不显示而不是全部显示。当我选择<选项><选项>当我导航到页面时,所有内容都像开头一样显示?
somethingToIterate | filter: {institutionUserRole: {value: roleFilter}}
我的选择如下:
<select class="form-control roleSelect" ng-model="roleFilter" ng-options="role as role | translate for role in vm.roles">
<option></option>
</select>
如果您在ng模型中使用对象,我认为您需要将默认选项添加到您在ng repeat中循环通过的列表中
像这样:
$scope.options = [
//add the default value in the options list.
{'value':'', 'label':''},
{'value':'1', 'label':'Option 1'},
{'value':'2', 'label':'Option 2'},
{'value':'3', 'label':'Option 3'},
{'value':'4', 'label':'Option 4'},
{'value':'5', 'label':'Option 5'},
{'value':'6', 'label':'Option 6'}
];
<div class="jumbotron">
<select ng-model="option" ng-options="item as item.label for item in options track by item.value">
</select>
<ul>
<li ng-repeat="item in data | filter: {name: option.value}">{{item.name}}
</li>
</ul>
</div>
或者你可以这样试试,
<select ng-model="selected.option">
<option value='' >select</option>
<option ng-repeat="option in options" value="option.value">{{option.label}}
</option>
</select>
下面是一个工作示例。http://codepen.io/mkl/full/qZjwJG/