Установите выходное событие selectionChange
для компонента mat-select
, укажите его для функции компонента: (selectionChange)="changed()"
.
сниппет:
<mat-select placeholder="Toppings" [formControl]="toppings" (selectionChange)="changed()" multiple>
В вашем компоненте создайте глобальную переменную с именем mySelections
. Это сохранит ваш выбор :) Он будет содержать массив строк.
Это выглядит так:
mySelections: string[];
changed() {
if (this.toppings.value.length < 3) {
this.mySelections = this.toppings.value;
} else {
this.toppings.setValue(this.mySelections);
}
}
Измените число 3 на N, и престо, все готово.