Angular Material Table中的动态标题内容?

时间:2019-03-02 20:21:19

标签: angular angular-material

我正在尝试将动态标题添加到我的棱角材料表中,但是我不知道该怎么做。在这种情况下,我希望月份位于标题中。

<ng-container matColumnDef="month">
    <th mat-header-cell *matHeaderCellDef> {{element.month}} </th>
    <td mat-cell *matCellDef="let element"> {{element.hours}} </td>
</ng-container>

我还尝试了* matHeaderCellDef =“ let element”,但是它不起作用。我不断收到错误消息:

TypeError:无法读取未定义的属性“ month”

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您不能定义类似*matHeaderCellDef="let element"的变量,因为初始化表时标题文本不得为undefined

您需要确保在获取月份值之前未初始化表。

例如使用*ngIf="data",以便在表源具有值之前不初始化表。

假设月份值通过HTTP加载并存储在retrievedMonth中,

您可以像这样动态填充标题:

<th mat-header-cell *matHeaderCellDef> {{retrievedMonth}} </th>

如果月份值与表在数组中或在同一数据源中,则需要放置一些过滤逻辑以提取月份值。