Угловая таблица матов - Как связать 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. Для "выбора кода" я могу выбрать несколько ролей, используя несколько, но для основного есть один выбор, но как привязать объект к "выбору"?

0 ответов

Другие вопросы по тегам