1. ホーム
  2. angular

[解決済み] なぜ mat-tables matRowDef は 2 つの変数を含むのですか?

2022-02-18 08:28:30

質問

angular material ioのmat-tableのサンプルを実装したところです。テンプレートコードを見ていて let row;..." を最終行のmatRowDefに追加しました。これを削除しても、テーブルは正常に動作します。この行は何のためにあるのか、どなたか教えていただけませんか?

<table mat-table [dataSource]="dataSource" class="mat-elevation-z8">

<!--- Note that these columns can be defined in any order.
      The actual rendered columns are set as a property on the row definition" -->

<!-- Position Column -->
<ng-container matColumnDef="position">
  <th mat-header-cell *matHeaderCellDef> No. </th>
  <td mat-cell *matCellDef="let element"> {{element.position}} </td>
</ng-container>

<!-- Name Column -->
<ng-container matColumnDef="name">
  <th mat-header-cell *matHeaderCellDef> Name </th>
  <td mat-cell *matCellDef="let element"> {{element.name}} </td>
</ng-container>

<!-- Weight Column -->
<ng-container matColumnDef="weight">
  <th mat-header-cell *matHeaderCellDef> Weight </th>
  <td mat-cell *matCellDef="let element"> {{element.weight}} </td>
</ng-container>

<!-- Symbol Column -->
<ng-container matColumnDef="symbol">
  <th mat-header-cell *matHeaderCellDef> Symbol </th>
  <td mat-cell *matCellDef="let element"> {{element.symbol}} </td>
</ng-container>

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

解決方法は?

行全体の値を取得するには、それが必要です。 以下のように、私は行をクリックすると行全体の値を取得したいので、let rowを使用しています。

    <tr mat-row *matRowDef="let row; columns: displayedColumns;"
    (click)="selection.toggle(row)">