Как ограничить выбор нескольких угловых материалов N элементами? - PullRequest
0 голосов
/ 03 июля 2018

При использовании https://material.angular.io/components/select/overview#multiple-selection

Как ограничить количество выбранных элементов N числом? Где N равно 3 или 4 или 5.

1 Ответ

0 голосов
/ 03 июля 2018

Установите выходное событие 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, и престо, все готово.

...