用ngfor和number填充mat-table中的单元格

时间:2019-10-03 13:58:09

标签: angular

我无法填写单元格。我有一张垫子桌子

<ng-container matColumnDef="score">
  <mat-header-cell mat-header-cell *matHeaderCellDef>
     {{'label.score'|translate }}
  </mat-header-cell>
  <mat-cell mat-cell *matCellDef="let element">
     <div *ngIf="element.score != null">
        <span *ngFor="let item of [].constructor(element.score);
           let i = index;">
           <mat-icon>star</mat-icon>
        </span>
     </div> 
   </mat-cell>
 </ng-container>

ngFor不会使用变量element.score创建星星。如果将element.score替换为数字3,则该单元格中有3个星星,但是如果element.score为3,则该单元格中有一个星星。

谢谢

1 个答案:

答案 0 :(得分:1)

如果element.score是数组,则可以遍历元素:

AST Visitor

编辑:

如果只有数字,则可以在组件中创建数组

<span *ngFor="let item of element.score; index as i;">
    <mat-icon>star</mat-icon>
</span>

并在模板中使用此数组:

  public createArray(length: number): number[]
    return Array(length).fill(0); // [0,0,0]
  }

另请参阅:tutorial