Это мой 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' - это массив ролей из основных данных.«Роли» - это массив из данных «пользователей», где «пользователи» - это внешний массив, а «роли» - это внутренний массив.Я хочу связать «код» и «основной» из ролей в двух различных элементах выбора здесь.Для выбора «код» я могу выбрать несколько ролей, используя несколько, но для основного есть один выбор, но как связать объект с «выбором»?