物料表未显示

时间:2019-03-05 06:17:08

标签: javascript angular

问题

我目前正在尝试实现材料设计表,但是它不显示任何数据。我尝试使用发现的here示例。它在页面上生成了一条垂直线: Material vertical line

当我在Chrome中打开开发人员工具并检查该元素时,我可以看到它正在为表生成行和标题,但是没有数据,如您在此处看到的: Empty rows


代码

“角度”视图中的代码如下:

<table mat-table [dataSource]="orders" matSort class="mat-elevation-z8">

  <!-- Position Column -->
  <ng-container matColumnDef="position">
    <th mat-header-cell *matHeaderCellDef mat-sort-header> No. </th>
    <td mat-cell *matCellDef="let element"> {{element.Id}} </td>
  </ng-container>

  <!-- Name Column -->
  <ng-container matColumnDef="trackingNumber">
    <th mat-header-cell *matHeaderCellDef mat-sort-header> Tracking number </th>
    <td mat-cell *matCellDef="let element"> {{element.trackingNumber}} </td>
  </ng-container>

  <!-- Weight Column -->
  <ng-container matColumnDef="total">
    <th mat-header-cell *matHeaderCellDef mat-sort-header> Total </th>
    <td mat-cell *matCellDef="let element"> {{element.total}} </td>
  </ng-container>

  <!-- Symbol Column -->
  <ng-container matColumnDef="symbol">
    <th mat-header-cell *matHeaderCellDef mat-sort-header> Created at </th>
    <td mat-cell *matCellDef="let element"> {{element.createdAt}} </td>
  </ng-container>

  <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
  <tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
</table>

我正在按如下方式加载数据:

this.api.get('Order').then((data) => {
  let json = JSON.parse(data);
  this.orders = json;
  this.hasLoaded = true;
});

数据

传递给视图的订单数据是一个数组,如下所示: enter image description here

1 个答案:

答案 0 :(得分:1)

displayedColumns似乎有问题,我将其更改为以下内容,现在可以使用了:

displayedColumns: string[] = ['position', 'trackingNumber', 'total', 'createdAt'];