我正在创建mat-table,其中包含具有嵌套类型数据的行。
值被构造为字符串对象的数组。目的是将这些对象中的每一个分配给单独的列。
对象构造:
weeks: [{week: '1'},{week: '0'},{week: '3'},{week: '4'},{week: '5'}]
创建列和分配数据:
<ng-container matColumnDef="{{wk}}" *ngFor="let wk of weekHeaders; index as idx">
<mat-header-cell *matHeaderCellDef>
<div fxLayout="column">
<div class="mt-05">{{wk.header}}</div>
<div *ngIf="wk.weekNo" >{{wk.startDate | date: 'dd-MM-yyyy'}}</div>
<div *ngIf="wk.weekNo">{{wk.endDate | date: 'dd-MM-yyyy'}}</div>
</div>
</mat-header-cell>
<mat-cell *matCellDef="let row;"> {{row.weeks[idx].week}} </mat-cell>
</ng-container>
我被期望像这样:
第1周-分配的值= 1
第2周-分配的值= 0
第3周-分配的值= 3
...
但是我遇到以下错误:
Duplicate column definition name provided: "[object Object]".
编辑:
接口:
export interface DataTable {
type: string;
process: string;
weeks: {week:String}[];
finalWeek: number;
}
列设置:
<mat-header-row *matHeaderRowDef="detailedColumns" class="plan-header-row"></mat-header-row>
<mat-row *matRowDef="let row; columns: detailedColumns;">
</mat-row>
答案 0 :(得分:1)
问题解决了。 matColumnDef="{{wk}}"
这个元素在等待字符串,我在给他对象。唯一需要给他的字符串像这样matColumnDef="{{wk.header}}"
,谢谢Eliseo的提示。