【发布时间】:2018-04-07 15:09:30
【问题描述】:
我需要创建一个包含来自 Json 对象数组的信息的表。 假设数据以下列格式到达。
profiles = [{
id: 1,
userId:1000,
profile: "Cars 2018",
parentId: 0,
created: "00.00.0000 00:00:00",
fields: [
{id:1, type:"text", name: "Brand"},
{id:2, type:"decimal", name: "velocity"},
{id:3, type:"int", name: "leather"}
],
data: [
{ id:1, value:'BMW 2018', profileId:1, fieldId:1 },
{ id:2, value:'130 Km/h', profileId:1, fieldId:2 },
{ id:3, value:'Yes', profileId:1, fieldId:3 },
{ id:4, value:'Mercedez Benz 2018', profileId:1, fieldId:1 },
{ id:5, value:'180 Km/h', profileId:1, fieldId:2 },
{ id:6, value:'No', profileId:1, fieldId:3 }
]
}];
到目前为止一切都很简单,我可以这样做然后去......
<div *ngFor="let field of profiles">
<table>
<thead>
<tr>
<th *ngFor="let link of field.fields">
{{ link.name }}
</th>
</tr>
</thead>
<tbody>
<tr>
<td *ngFor="let dt of field.data">
{{ dt.value }}
</td>
</tr>
</tbody>
</table>
</div>
但结果会是:
Brand | Velocity | Leather |
BMW 2018 | 130 Km/h | Yes | Mercedez Benz 2018 | 130 Km/h | No
如何让数据适应列数?
更新-------- 我在数据中添加了“fieldId”,因此数据应显示在其对应的字段中...
【问题讨论】:
-
标头和数据之间的关联是什么?我没有看到任何匹配。是id吗?
-
您只有 3 个标题,但您正在渲染 6 列。如果您不处理,还应该如何显示信息?
-
@ZivWeissman with 'fieldId'...
-
@Jota.Toledo 这就是我的问题的重点,如何根据字段的数量来处理信息......
-
尝试一下?...