set在ng-dropdown-multiselect中选择All作为初始值

时间:2016-04-12 13:55:30

标签: angularjs

我在视图中有以下角度js代码

<div class="icon-dropdown people-icon fixed-height-select" ng-dropdown-multiselect="" options="vm.collectionGroups" selected-model="vm.selectedCollections" ng-click="vm.events.getStatistics()"></div>

我希望以编程方式设置&#34;全选&#34;选项作为最初选择的选项。

6 个答案:

答案 0 :(得分:0)

指令上没有可以实现Select All行为的选项或功能。

您可以做的是在控制器中初始化vm.selectedCollections

this.selectedCollections = this.collectionGroups.map(function(item) {
  return { id : item.id };
});

创建类似[{id:1}, {id:2}, .. ];

的集合

有关详细信息,您可以在预选值部分看到documentation

答案 1 :(得分:0)

ng-dropdown-multiselect有预选值,它正在使用id。

所以你的预选值vm.selectedColletions必须是id里面的。

所以它应该是

// list selected id
this.selectedCollections = [
  {
    "id": 1
  },
  {
    "id": 3
  }
];

答案 2 :(得分:0)

您可以将其初始化为

this.example1model = [
    {id: 1, label: "xx"},
    {id: 2, label: "yy"},
    {id: 3, label: "zz"}
];

其中example1model是selected-model,默认选择全部

答案 3 :(得分:0)

你的Javascript应该是这样的:

function(){
  $scope.vm.selectedCollections = angular.copy($scope.vm.collectionGroups);
};

selected-model = options。 :)轻松。

答案 4 :(得分:0)

尝试了很多次之后,我找到了简单的解决方案,如下所示

self.example1model = data;
self.selectedCollections = data.slice(0);

答案 5 :(得分:0)

您的选项可能如下所示,

$scope.vm.collectionGroups=[
{"id": 0, "label": "Colum-0", "group": "group-1"},
{"id": 1, "label": "Colum-1", "group": "group-1"},
{"id": 2, "label": "Colum-2", "group": "group-2"},
{"id": 3, "label": "Colum-3", "group": "group-2"}
];

您可以像这样使用散布运算符初始化模型,

$scope.vm.selectedCollections= [...$scope.vm.collectionGroups];