【发布时间】:2020-10-11 23:01:17
【问题描述】:
我使用 Angular Material mat-table,据我所知,它有一个循环属性的特殊符号,如 *matCellDef,如 Demo 所示。为了删除不必要的部分,我正在尝试迭代记录并动态构建表。我尝试使用<div let element of elements>...</div> 进行迭代,但失败了。那么,是否可以使用特殊的语法?
这是我尝试迭代的部分:
<ng-container matColumnDef="weight">
<th mat-header-cell *matHeaderCellDef> Weight </th>
<td mat-cell *matCellDef="let element"> {{element.weight}} </td>
</ng-container>
【问题讨论】:
-
MatTable 自动绑定到数组。只需设置列名和字段属性名。这里是入门dev.to/jwp/angular-material-table-in-20-minutes-15f4
-
@JohnPeters 非常感谢,它似乎很有用。但在第一部分,我看到列名不是从数据源收集的,而是静态给出的。我为什么要这样做,我想创建一个基本列表组件,而不是静态设置列名。这可能吗?
-
Mat-Table 同时使用 DisplayedColumns 和 DisplayedHeaders。两者都是数组,并且都可以在运行时由任何动态组件传入。只需抓住 MatTable 的实例并执行此操作。 myMatTable.displayedColumns=["col1","col2"] and myMatTable.displayedHeaders = ["Dynamic Header 1", "Dynamic Header2"]
-
感谢您的帮助。
matColumnDef呢?我必须在材料表(mat*table)中设置defxxx属性吗?matColumnDef和[matColumnDef]有什么区别?
标签: angular angular-material material-design