
利用ng-zorro表格高效展现嵌套数组数据
在Ng-Zorro框架下,直接展示嵌套数组数据需要预处理,使其符合表格结构要求。
假设后端返回的是包含嵌套数组的对象,我们可以通过将嵌套数组扁平化成单层数组来解决这个问题。每个扁平化后的元素都包含父对象和嵌套数据的属性。
以下代码片段展示了数据处理函数:
<code class="typescript">const flattenData = (data: any[]): any[] => {
return data.reduce((acc, curr) => {
return [...acc, ...curr.alarm.map(alarm => ({ ...curr, ...alarm }))];
}, []);
};</code>
该函数将alarm数组中的每个元素与父对象合并,最终返回一个新的单层数组。
接下来,将处理后的单层数组作为数据源,绑定到Ng-Zorro表格的nzData属性。表格会根据数据源中的属性自动生成列。
<code class="html"><nz-table [nzData]="flattenedData">
<ng-template nz-table-cell let-data>
{{ data.time }} - {{ data.name }} - {{ data.func_code }}
</ng-template>
</nz-table></code>
其中,flattenedData为flattenData函数处理后的数据。 通过这种方式,您可以轻松地在Ng-Zorro表格中高效地展示嵌套数组数据。










