我有从后端 API 收到的数据对象,如下所示:
[{"testNumber":1,
"students":[{"name":"Jane Doe","status":"PASSED"},
{"name":"John Doe","status":"PASSED"}]},
{"testNumber":2,
"students":[{"name":"Jane Doe","status":"PASSED"},
{"name":"John Doe","status":"FAILED"}]},
etc...
]
这是我检索名称的代码:
<ng-container matColumnDef="name">
<th mat-header-cell *matHeaderCellDef > Student Name </th>
<td mat-cell *matCellDef="let element">
<span *ngFor="let student of element.students"> {{student.name}} </span>
</td>
</ng-container>
然而,使用上面的代码,所有的名字都像这样组合到一个单元格中:Jane DoeJohn Doe...
如何将每个名称拆分为一个新行?基本上我想要显示的是这种格式:
| Student Name | Test 1 | Test 2 | Test 3 | Test N |
| Student 1 | Pass | Fail | Pass | ... |
| Student 2 | Pass | Pass | Pass | |
| Student 3 | Pass | Pass | | |
| Student 4 | Pass | | | |
另外,使用 ngFor 并为“测试 1”、“测试 2”等填充单元格数据的最佳方法是什么?
这是我当前在 TypeScript 中的数据模型(请注意,我也控制后端服务,所以如果需要更改数据模型以使前端更容易,我可以更改它):
export class Test {
testNumber: number;
students: Student[];
}
export class Student {
name: string;
status: string;
}
谢谢!