表primeNg 5.2.7-嵌套对象

时间:2018-12-11 11:34:19

标签: primeng

我用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]

如何正确获取价值?

1 个答案:

答案 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]方案。