Как получить идентификатор строки статического столбца в таблице материалов со статическим и динамическим столбцом? - PullRequest
0 голосов
/ 08 ноября 2019

Я создаю таблицу материалов в качестве дочернего компонента, который генерирует таблицу динамически, используя данные, предоставленные родительским компонентом.

В таблице также есть столбец для таких действий, как редактирование и удаление. Это делает мою таблицу смесью динамического и статического столбца. Я могу получить индекс строки динамических столбцов, но индекс статического столбца возвращает неопределенное значение.

Я попытался получить индекс динамического столбца следующим образом:

   <div *ngFor="let column of columns">
      <ng-container  *ngIf="displayedColumn !='actions'" [matColumnDef]="column.columnDef">
        <th mat-header-cell *matHeaderCellDef mat-sort-header>{{ column.header }}</th>
        <td mat-cell *matCellDef="let row; let i=index;">{{ column.cell(row) }}</td>
      </ng-container>
    </div>

Это дает правильный индекс, ноЯ не могу получить доступ к этому «i» в статическом столбце «Actions», чтобы передать его в deleteMember ().

<table mat-table [dataSource]="dataSource" matSort>

    <div *ngFor="let column of columns">
      <ng-container  *ngIf="displayedColumn !='actions'" [matColumnDef]="column.columnDef">
        <th mat-header-cell *matHeaderCellDef mat-sort-header>{{ column.header }}</th>
        <td mat-cell *matCellDef="let row">{{ column.cell(row) }}</td>
      </ng-container>
    </div>

      <ng-container matColumnDef="actions">
        <th mat-header-cell *matHeaderCellDef>Actions </th>
      <!--tried with puttin index like below also, it gives same result-->
      <!--<td mat-cell *matCellDef="let row; let index=index">-->
        <td mat-cell *matCellDef="let row">

          <button mat-icon-button class="iconbutton" color="primary">
            <mat-icon>edit</mat-icon>
          </button>

          <!--row.id is the id of the employee and index is the index of row which is undefined-->
          <button mat-icon-button (click)="deleteMember(row.id, index)" matTooltip="Delete" class="iconbutton" color="warn">
            <mat-icon>delete</mat-icon>
          </button>

        </td>
      </ng-container>

    <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
    <tr mat-row *matRowDef="let row; columns: displayedColumns; let index=index;"></tr>

  </table>

Мне нужно передать индекс строки в deleteMember (), чтобы удалить эту строку после успешного завершенияудалить на сервере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...