J'ai vérifié la documentation et les démos, mais hélas !! Je n'ai trouvé aucune référence à la mise en œuvre de l'option de sélection multiple comme la sélection 2 en utilisant un matériau angulaire. Quelqu'un pourrait-il me dire comment le faire fonctionner?
La réponse de Splaktar est correcte: il suffit d'ajouter plusieurs à votre md-select .
Codepen pour la solution de travail: http://codepen.io/ansgar-john/pen/RWPVEO?editors=101
HTML
<div>
<md-input-container>
<md-select multiple ng-model="ctrl.likedAnimals" placeholder="please select">
<md-option ng-repeat="a in ctrl.animals" value="{{a}}">{{a}}</md-option>
</md-select>
</md-input-container>
</div>
JS
(function () {
'use strict';
angular
.module('MyApp')
.controller('AppCtrl', function($scope) {
this.likedAnimals = ["mouse", "dog"];
this.animals = ["mouse", "dog", "cat", "bird"];
});
})();
Code basé sur la réponse Stack Overflow: Comment suis-je censé implémenter l'option de sélection multiple dans le matériau angulaire?
Vous pouvez consulter la documentation de la directive ici .
Attributs
multiple (facultatif): boolean - Que ce soit multiple.
<md-select ng-model="someModel" placeholder="Select a state" multiple="true">
<md-option ng-value="opt" ng-repeat="opt in neighborhoods2">{{ opt }}</md-option>
</md-select>
Si cela ne fonctionne pas, j'ai entendu dire que md-multiple
pourrait fonctionner mais que les documents ne sont tout simplement pas encore mis à jour. Je n'ai pas encore pu vérifier cela.
Découvrez chips
Vous pouvez également appliquer votre propre modèle personnalisé.
J'ai utilisé ce qui suit pour me permettre d'utiliser une répétition ng avec certains md-select qui étaient multi, et certains qui ne l'étaient pas (en date de Angular 1.4.7):
<md-input-container ng-repeat="item in items track by $index">
<label>{{item.title}}</label>
<div ng-include="item.multiselect == 'true' ? 'm_selectfragment.html' : 's_selectfragment.html'"></div>
</md-input-container>
$scope.items =
[{title: 'funny',
selected: '',
names: [
{name: 'some name'},
{name: 'other name'},
{name: 'more?'},
{name: 'say wha???'}
],
multiselect: "false"
},
{title: 'serious',
selected: '',
names: [
{name: 'Obama'},
{name: 'Trump'},
{name: 'Hillary'},
{name: 'Putin'}
],
multiselect: "true"
}];
<md-select name="item.title" ng-model="item.selected" multiple="true">
<md-option ng-repeat="name in item.names" value="{{name.name}}">{{name.name}}
</md-option>
<md-select name="item.title" ng-model="item.selected">
<md-option ng-repeat="name in item.names" value="{{name.name}}">{{name.name}}
</md-option>