Скажем, у меня есть List<Language>
, который я хочу привязать к MaterialSelectComponent
.
Я хочу получить в реальном времени выбранное и удаленное значение , а также проверенное значениекогда модель привязывается при «старте» .
1-я попытка
В компоненте
final SelectionModel<Language> languagesSelection = SelectionModel.multi();
В шаблоне
<material-select #languages [options]="languages" (click)="languagesSelection.selectionChanges.listen(update);"
displayNameRenderer [selection]="languagesSelection">
</material-select>
Iполучить слишком зашумленную информацию с помощью DelegatingSelectionModel<T>.selectionChanges.listen(update);
Очевидно, SelectionChangeRecord<T> class
не подходящий класс для использования…
2-я попытка
В компоненте
final SelectionModel<Language> languagesSelection = SelectionModel.multi();
В шаблоне
<material-select #languages (click)="update(languagesSelection.selectedValues);" [selection]="languagesSelection">
<material-select-item *ngFor="let lang of languages" [value]="lang" [selected]="lang.selected"
displayNameRenderer>
</material-select-item>
</material-select>
Но метод обновления в Компоненте получает бесполезные вещи ...
- * * * * * * * * *
languagesSelection.selectedValues
запускается при нажатии метки, поэтому извлеченные данныеповрежден, поскольку флажок, кажется, не установлен, но действительно установлен… , в то время как документация гласит
Возвращает упорядоченный список выбранных значений.
languagesSelection.selectedValues
не возвращает выбранные значения, установленные при запуске, при использовании [selected]="lang.selected"
…
- список ненадежен, инельзя использовать для связывания с моделью…
Вопрос
Как правильно связать MaterialSelectComponent
с моделью?