Angular 如何使用角度材质在表格中显示对象
我想展示数据-这是角垫表中的一个对象 示例如下:Angular 如何使用角度材质在表格中显示对象,angular,typescript,angular-material,angular-material-table,Angular,Typescript,Angular Material,Angular Material Table,我想展示数据-这是角垫表中的一个对象 示例如下: { "first": 15.0, "second": [{"id":1,"data_1":"foo","dat_2":"bar"}], "third": "2018-09-15T05:30", "fourth": ["
{
"first": 15.0,
"second": [{"id":1,"data_1":"foo","dat_2":"bar"}],
"third": "2018-09-15T05:30",
"fourth": ["ONE", "TWO"],
"fifth": {"data_3":145,"id":2,"data_4":1600}
}
事实上,我想在一个表中显示它,在第一列中有像first、second这样的键,在第二列中有一个值,可能是字符串、数字数组或对象数组
我实际拥有的是:
-在table-basic-example.ts中有两个元素:元素\数据\新的,显示正确,但我想显示新的\数据
注意:我使用angular mat dialog打开对话框,其中将显示此表。您需要将新的\u数据转换为DataSource:
dataSource = Object.entries(NEW_DATA).map(o => {
return { name: o[0], value: JSON.stringify(o[1]) };
});
您需要将新的_数据转换为数组。干脆
dataSource = Object.entries(NEW_DATA);
并修改表模板。使用索引代替名称/值
<table mat-table [dataSource]="dataSource" class="mat-elevation-z8">
<ng-container matColumnDef="name">
<th mat-header-cell *matHeaderCellDef> Name </th>
<td mat-cell *matCellDef="let element"> {{element[0]}} </td>
</ng-container>
<ng-container matColumnDef="value">
<th mat-header-cell *matHeaderCellDef> Value </th>
<td mat-cell *matCellDef="let element"> {{element[1]}} </td>
</ng-container>
<tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
</table>
您可以将新的_数据转换为数据结构dataSource acceptedThanks很多,但是我必须改变显示数据的方式,因为它对于显示包含大量记录的数据库非常有用,而不是显示包含多个值的一条记录与一条记录相连接。