
本文介绍如何将嵌套数组中的每个对象以“字段名-字段值”垂直两行方式渲染为表格,避免传统行列式布局,实现更清晰的字段展示结构。
本文介绍如何将嵌套数组中的每个对象以“字段名-字段值”垂直两行方式渲染为表格,避免传统行列式布局,实现更清晰的字段展示结构。
在 Angular 应用中,当 history 是一个对象数组(如 ChangeLogEntryDto[]),而你希望为每个对象单独渲染一张紧凑型键值表(即每列仅含一个字段名 + 对应值,而非传统横向多列布局),关键在于放弃 mat-table 的标准数据源驱动模式,改用手动遍历字段名的方式动态生成行。
原代码中使用
| 显示字段名(key), | 显示对应值(entry[key])。 以下是优化后的模板代码: <div entry of history>
<table mat-table class="key-value-table"><tr key of displayedcolumns>
<th mat-header-cell>{{ key | titlecase }}</th>
<td mat-cell>{{ entry[key] || '-' }}</td>
</tr></table>
</div>
✅ 优势说明:
⚠️ 注意事项:
该方案轻量、可维护性强,完美匹配“字段名在上、值在下”的垂直展示诉求,同时保持与现有 displayedColumns 配置的无缝集成。 |
|---|











