我用primeNg绘制了一个表,该表具有一个对象,该对象又包含其他对象。
//控制器
this.cols = [
{ field: 'persona', subfield: 'dni', header: 'NIF' },
{ field: 'persona', subfield: 'nombre', header: 'Nombre' },
{ field: 'persona', subfield: 'apellido1', header: 'Apellido 1' },
{ field: 'persona', subfield: 'apellido2', header: 'Apellido 2' },
{ field: 'emailEmpresa', header: 'Email' }
];
//查看
<ng-template pTemplate="body" let-rowData let-columns="columns">
<tr [pSelectableRow]="rowData">
<td *ngFor="let col of columns">
<div *ngIf="col.subfield;then nested_object_content else normal_content"></div>
<ng-template #nested_object_content>
{{rowData[col.field][col.subfield]}}
</ng-template>
<ng-template #normal_content>
{{rowData[col.field]}}
</ng-template>
</td>
</tr>
</ngTemplate>
//问题是将其导出到csv时:
dataTable.exportCSV();
///在创建CSV而不是放置嵌套值的值时,我得到以下信息:
[object Object]
如何正确获取价值?
答案 0 :(得分:0)
您可以尝试以下操作:
this.cols = [
{field: 'persona.dni', header: 'NIF'},
{field: 'persona.nombre', header: 'Nombre'},
{field: 'persona.apellido1', header: 'Apellido 1'},
{field: 'persona.apellido2', header: 'Apellido 2'},
{field: 'emailEmpresa', header: 'Email'}
];
<ng-template pTemplate="body" let-value>
<tr>
<td>{{value.persona.dni}}</td>
<td>{{value.persona.nombre}}</td>
<td>{{value.persona.apellido1}}</td>
<td>{{value.persona.apellido2}}</td>
<td>{{value.emailEmpresa}}</td>
</tr>
</ng-template>
它将解决最终CSV文件中的exportCSV()
函数的嵌套[object Object]
方案。