重复的列定义[object Object] Mat-table

时间:2019-08-27 14:39:43

标签: angular typescript angular-material

我正在创建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>

1 个答案:

答案 0 :(得分:1)

问题解决了。 matColumnDef="{{wk}}"这个元素在等待字符串,我在给他对象。唯一需要给他的字符串像这样matColumnDef="{{wk.header}}",谢谢Eliseo的提示。