我想使用Angular Material表。我有一个函数,可以将要显示的内容带回销售阵列。此功能工作正常,但我的桌子上看不到任何东西。如果我用一个简单的表来显示销售额,它就可以工作,那么我的数据源变量就会出现问题...
export class SaleListingComponent implements OnInit {
constructor(private saleService: SaleDomainService, private router:Router) { }
public sales: Sale[];
dataSource=this.sales;
ngOnInit() {
this.loadSales();
}
private loadSales() {
this.saleService.getSales().subscribe(
data => { this.sales = data },
err => console.error(err),
() => console.log("sales loaded.", JSON.stringify(this.sales))
);
}
}
<table mat-table [dataSource]="dataSource" class="mat-elevation-z8">
<ng-container matColumnDef="id">
<th mat-header-cell *matHeaderCellDef> No. </th>
<td mat-cell *matCellDef="let element"> {{element.id}} </td>
</ng-container>
<ng-container matColumnDef="amount">
<th mat-header-cell *matHeaderCellDef> amount </th>
<td mat-cell *matCellDef="let element"> {{element.amount}} </td>
</ng-container>
<ng-container matColumnDef="date">
<th mat-header-cell *matHeaderCellDef> date </th>
<td mat-cell *matCellDef="let element"> {{element.date}} </td>
</ng-container>
<ng-container matColumnDef="industry">
<th mat-header-cell *matHeaderCellDef> industry </th>
<td mat-cell *matCellDef="let element"> {{element.industry}} </td>
</ng-container>
<ng-container matColumnDef="price">
<th mat-header-cell *matHeaderCellDef> price </th>
<td mat-cell *matCellDef="let element"> {{element.price}} </td>
</ng-container>
<ng-container matColumnDef="prod">
<th mat-header-cell *matHeaderCellDef> prod </th>
<td mat-cell *matCellDef="let element"> {{element.prod}} </td>
</ng-container>
<ng-container matColumnDef="productType">
<th mat-header-cell *matHeaderCellDef> productType </th>
<td mat-cell *matCellDef="let element"> {{element.productType}} </td>
</ng-container>
<ng-container matColumnDef="salesman">
<th mat-header-cell *matHeaderCellDef> salesman </th>
<td mat-cell *matCellDef="let element"> {{element.salesman}} </td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
</table>
答案 0 :(得分:1)
将[dataSource] =“ dataSource”更改为`[dataSource] =“ sales”