Вы можете отслеживать индекс по определениям ячеек (*matCellDef="let element; let index = index"
) и привязывать к <td>
свойству высоты ([style.height.px]="getRowHeight(index)"
):
component.html
<table mat-table [dataSource]="data" class="mat-elevation-z8">
<ng-container matColumnDef="column_id_1">
<th mat-header-cell *matHeaderCellDef> $implicit </th>
<td mat-cell *matCellDef="let element; let index = index" [style.height.px]="getRowHeight(index)"> {{ element.column1 }} </td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
</table>
component.ts
getRowHeight(index) {
return index * 50; // do any calculations and return row height
}
Обратите внимание, что в этом примере я привязал напрямую к [style.height.px], но вы также можете привязать к другомуСвойства или привязка к высоте по-разному.
Кроме того, если ваши вычисления для высоты просты, вы можете привязать его непосредственно к шаблону, без использования метода для этого.