如何在Angular Material Table中将嵌套数组显示为行?

问题描述

我正在尝试从JSON下面的角度垫表中显示错误日志(applicationErrors数组)的表,如下所示: Respone JSON

我要这样显示我的表:

Production name | Application name | Request Time | Log

Fifth Production | Fifth Application | 2020... | log error

Fifth Production | Fifth Application | 2020... | next log error

有什么主意,我应该如何反复进行迭代以获得高于预期的结果?

在“普通”表中很容易做到,但是我不知道如何在mat-table中做到这一点(我想使用分页和通过列过滤)。

解决方法

您可以简单地通过使用for循环并遍历数组来完成此操作。

您只需要维护一个数组即可用于在表中显示数据。

请使用以下代码来满足您的要求。

Let dataArray:any[]=[];
this.data.forEach((production)=>{
  production.application.forEach((application)=>{
     application.applicationErrors.forEach((error)=>{
      let obj = {'product':production.name,'application':application.name,'request time':error.requestTime,'log':error.log}
     dataArray.push(obj)
  })
}) 

})