Я использую ngx-mat-select-search для раскрывающегося списка с множественным выбором и поиском.
Я пытаюсь сделать его компонентом, который:
- Задается как @Input() список значений для отображения
- Выбранные значения привязаны к некоторому массиву, чтобы родительский компонент мог иметь доступ к текущим выборам.
- Имеет эмиттер @Output(), который сообщает родительскому компоненту, что параметры отмечены/сняты. Затем родитель может делать что угодно со значениями, которые были связаны в 2.
Вот что у меня есть: https://github-omyu1h.stackblitz.io
1
kebab-case
17 Дек 2019 в 20:09
1 ответ
Вы можете удалить реактивный контроль формы
public bankMultiCtrl: FormControl = new FormControl();
И используйте свойство модели, которое вы определили в своем примере
// 2. selectedValues should be bound to whatever is selected
@Input() selectedValues: string[] = [];
// 3. output whenever a change is made to selectedValues
@Output() selectionChange = new EventEmitter();
В вашем шаблоне следующим образом:
<mat-form-field>
<mat-select [ngModel]="selectedValues" (ngModelChange)="selectionChange.emit($event)" placeholder="Banks" [multiple]="true" #multiSelect>
<ngx-mat-select-search [formControl]="bankMultiFilterCtrl"></ngx-mat-select-search>
<mat-option *ngFor="let bank of filteredBanksMulti | async" [value]="bank">
{{bank}}
</mat-option>
</mat-select>
</mat-form-field>
1
Esteban Gehring
19 Дек 2019 в 11:06
Похожие вопросы
Новые вопросы
angular
Вопросы об Angular (не путать с AngularJS), веб-фреймворке от Google. Используйте этот тег для вопросов Angular, которые не относятся к отдельной версии. Для более старой веб-инфраструктуры AngularJS (1.x) используйте тег AngularJS.