【问题标题】:set Select All as initial value in ng-dropdown-multiselect在 ng-dropdown-multiselect 中将 Select All 设置为初始值
【发布时间】:2016-04-12 13:55:30
【问题描述】:

我在视图中有以下 Angular 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>

我想以编程方式将“全选”选项设置为最初选择的选项。

【问题讨论】:

  • 这是一个插件吗?你可以标记/链接到它吗?
  • 你能提供你的代码的工作示例吗?
  • @user2899925 我没有尝试过,但是您可以通过在vm.collectionGroupsvm.selectedCollections 中保留相同的数组数据来检查,我正在检查vm.selectedCollections 是否有默认数据默认选择。

标签: angularjs


【解决方案1】:

ng-dropdown-multiselect 具有预选值,并且正在使用 id。

所以你的预选值 vm.selectedColletions 必须是其中的 id。

应该是这样的

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

【讨论】:

    【解决方案2】:

    指令中没有可以实现Select All行为的选项或函数。

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

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

    创建一个像[{id:1}, {id:2}, .. ];这样的集合

    有关更多信息,您可以在 预选值 部分查看documentation

    【讨论】:

    • 我只是问我是否可以触发 ng-dropdown-multiselect 中存在的“Check All”选项的 selectAll 事件,如果我不使用 showCheckAll = false 禁用它跨度>
    • 哦,好吧..所以当我查看指令的文档和实现时,我看不出如何在不修改插件代码的情况下调用指令上的 selectAll 方法
    • 是的,不幸的是我也没有
    【解决方案3】:

    你可以把它初始化为

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

    其中 example1model 是 selected-model,默认情况下会全选

    【讨论】:

      【解决方案4】:

      你的 Javascript 应该是这样的:

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

      选定模型 = 选项。 :) 简单。

      【讨论】:

        【解决方案5】:

        经过大量尝试,我找到了简单的解决方案如下

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

        【讨论】:

          【解决方案6】:

          您的选项可能如下所示,

          $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];
          

          【讨论】:

            猜你喜欢
            • 2019-10-15
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-03-26
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多