我有几个选项,我用ng-options填充。我想知道是否可以动态分组/不分组此选择。
这是一个(简化的)<select>
:
<select class="brand-select"
ng-model="selectedBrand" chosen="brandList"
ng-options="brand as brand.name group by brand.bestseller for brand in brandList">
</select>
我希望能够在选择和此之间切换(注意,在这个中没有分组):
<select class="brand-select"
ng-model="selectedBrand" chosen="brandList"
ng-options="brand as brand.name for brand in brandList">
</select>
我希望将分组绑定到$ scope变量。
我尝试将select绑定到指令并动态设置ng-options attr的值,但似乎这是不可能的。
除了有两个选择并显示/隐藏其中一个之外,有关最佳方法的建议吗?
答案 0 :(得分:3)
如果您使用1.4.8及以下的角度,上述4vanger的回答是正确的,请注意当使用角度1.5及以上时,您必须返回未定义的&#39;禁用分组。否则a&#34; null&#34;小组将出现。
答案 1 :(得分:1)
使用函数确定“分组依据”值 - 如果不需要分组,则返回null:
$scope.grouping = true
$scope.groupBy = function(v){return $scope.grouping ? v[0]: null}
...
<select ng-model="selected" ng-options="k group by groupBy(v) for (k,v) in friends"></select>