Угловая таблица матов - Как связать JSON Object с двумя различными элементами select, используя двустороннее связывание? - PullRequest
0 голосов
/ 16 сентября 2018

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

...