Угловая таблица матов - Как связать JSON Object с двумя различными элементами select, используя двустороннее связывание?
Это мой HTML-код:
<table mat-table [dataSource]="users" class="mat-elevation-z8" color="primary">
<ng-container matColumnDef="roles">
<th mat-header-cell *matHeaderCellDef>
<span i18n="@@roles">Roles</span>
</th>
<td mat-cell *matCellDef="let user; let i=index;">
<mat-form-field>
<mat-select placeholder="User Roles" [(ngModel)]="users[i].roles['code']" multiple>
<mat-option *ngFor="let role of userRoles" [value]="role.code">
{{role.desc}}
</mat-option>
</mat-select>
</mat-form-field>
</td>
</ng-container>
<ng-container matColumnDef="primaryRole">
<th mat-header-cell *matHeaderCellDef>
<span i18n="@@primaryrole">Primary Role</span>
</th>
<td mat-cell *matCellDef="let user; let i=index;">
<mat-form-field>
<mat-select placeholder="Primary Role" [(ngModel)]="users[i].roles['primary']" >
<mat-option *ngFor="let role of userRoles" [value]="role.primary">
{{role.desc}}
</mat-option>
</mat-select>
</mat-form-field>
</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="getTableColumns(); sticky: true;"></tr>
<tr mat-row *matRowDef="let row; columns: getTableColumns();"></tr>
</table>
Здесь userRoles - это массив ролей из основных данных. 'role' - это массив из данных 'users', где 'users' - внешний массив, а 'role' - внутренний массив. Я хочу связать 'code' и 'primary' из ролей в двух разных элементах select. Для "выбора кода" я могу выбрать несколько ролей, используя несколько, но для основного есть один выбор, но как привязать объект к "выбору"?