В Angular 6, как связать с выбором, когда значение опций выбора является сложным объектом?
Вот что я имею в виду…
В нашем приложении мы использовалиэлемент управления select, который выглядел следующим образом:
<mat-select [(value)]="endpoint.group" (selectionChange)="groupSelection_changed()" class="groupSelect" placeholder="Please select a group”>
<mat-option *ngFor="let g of ddGroups" value="{{ g.groupPublicKey }}">{{ g.groupName }}</mat-option>
</mat-select>
Затем мы изменили его так, чтобы он выглядел следующим образом:
<mat-select #groupSelector [(value)]="endpoint.group" class="groupSelect" placeholder="Please select a group">
<mat-option *ngFor="let g of ddGroups" [value]="{ key: g.groupPublicKey, value: g.groupName }">{{ g.groupName }}</mat-option>
</mat-select>
Важное изменение в [value] параметра mat.Он изменился с {{g.groupPublicKey}} на {key: g.groupPublicKey, значение: g.groupName}
Когда это был просто g.groupPublicKey, я мог легко связать его с endpoint.group в мате-select [(value)] атрибут, потому что оба endpoint.group и g.groupPublicKey были просто строками.Но теперь endpoint.group и {key: g.groupPublicKey, value: g.groupName} являются сложными объектами (endpoint.group также имеет форму {key: string, value: string}).Но использование endpoint.group в атрибуте mat-select [(value)] больше не будет работать.Ничего не выбрано в выборе.
Поэтому мой вопрос: как связать с выбором, значения которого являются сложными объектами?