ng-option显示两个空选项,而group by empty value

时间:2016-07-19 12:29:44

标签: angularjs ng-options angularjs-select

我使用ng-option进行了下拉列表并添加了分组。 数据包含一些选项的空字符串,我添加了grup。 它在下拉列表中显示两个空节点。 需要从下拉列表中删除这两个空节点

angular.module('selectExample', [])
  .controller('ExampleController', ['$scope', function($scope) {
    $scope.colors = [{
      name: 'black',
      shade: ''
    }, {
      name: 'white',
      shade: 'light',
      notAnOption: true
    }, {
      name: 'red',
      shade: 'dark'
    }, {
      name: 'blue',
      shade: 'dark',
      notAnOption: true
    }, {
      name: 'yellow',
      shade: 'light',
      notAnOption: false
    }];
    $scope.myColor = $scope.colors[2]; // red
  }]);

HTML:

<select ng-model="myColor" ng-options="color.name group by color.shade for color in colors">
  </select>

Plunker link

1 个答案:

答案 0 :(得分:1)

您只需删除那些空白的色调。

只需将其包含在您的控制器中:

$scope.colors = $scope.colors.map(function(value) {
  if (value.shade == '') {
    value.shade = undefined;
  }
  return value;
});