是否有任何版本的Angular Material md-select with select all选项

时间:2016-04-14 05:55:30

标签: drop-down-menu angular-material multipleselection

我一直在我的一个项目中使用Angular Material。突然间,我意识到需要在md-select上选择all选项。我想我会同样提出一个git请求。

然而,目前我正在寻找一个类似的下拉式结构,带有复选框(如md-select multiple),但也是一个select all选项。

我知道我可以将虚拟空条目推入md-select选项数组并在其选择上操纵反向方式。但它需要在我目前的结构中进行大量代码更改,而且也不是一件优雅的事情。

我尝试在bootstrap和jQuery-UI中寻找它,但还没找到。是否有人知道这样的控制。任何重定向都会有所帮助。

1 个答案:

答案 0 :(得分:2)

您可以在HTML中轻松完成。如果你想要一个"选择none"它只需要一行代码或两行代码。选项也是。例如

<md-input-container>
  <label>Users</label>
    <md-select ng-model="selectedUser" multiple="" 
               ng-model-options="{trackBy: '$value.id'}">
      <md-optgroup label="Users">
      <md-option ng-repeat="user in users" 
                 ng-value="user">{{ user.name }}</md-option>
      </md-optgroup>
    </md-select>
</md-input-container>
<button ng-click="selectedUser=users">all</button>
<button ng-click="selectedUser=[]">none</button>

Example in Plunker

编辑:我更新了以下的Plunker以显示&#34; all&#34; &#34;用户&#34;旁边的选择框内的按钮optgroup标题。相关变化:

    <md-select ng-model="selectedUser" multiple="" ng-model-options="{trackBy: '$value.id'}">
      <button ng-click="doSelectedUser()" style="float:right">all</button>
      <md-optgroup label="Users">