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



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

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

我知道我可以将一个伪空条目推送到md-select选项数组中,并以相反的方式对其进行选择。但这需要对我当前的结构进行大量的代码更改,而且也不是一件优雅的事情。

我试着在bootstrap和jQuery UI中查找它,但还找不到。有人知道这种控制吗。任何重定向都会有所帮助。

您可以在HTML中轻松地做到这一点。它只需要一行代码,或者两行代码,如果你也想选择"不选择"选项的话。例如

<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>

Plunker中的示例。

编辑:我更新了下面的Plunker,在"用户"选项组标题旁边的选择框中显示"全部"按钮。相关变更:

    <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">

最新更新