[英]Can't interpolate data correctly - Angular material table - Angular2+
我无法弄清楚如何修改示例材料数据表,以便可以在其中使用自己的数据...
我的数据以以下格式显示:
export const DATA: any = {
'products': [
{
'id': 1,
'name': 'SOLID BB T-SHIRT',
'price': '28.00',
...
},
...
]
从Material.angular.io给出的示例中,其数据采用以下格式:
export const DATA = [
{
"id": 1,
"name": "Leanne Graham",
"username": "Bret",
...
},
...
]
但是,我似乎无法使我的数据格式适合插值以便在HTML中使用,如下所示:
<table mat-table [dataSource]="dataSource" class="mat-elevation-z8">
<ng-container matColumnDef="id">
<th mat-header-cell *matHeaderCellDef> id </th>
<td mat-cell *matCellDef="let element"> {{element.id}} </td>
</ng-container>
我有什么想念的吗?
尚不清楚,因为您没有提供用于创建dataSource
代码,但我的猜测是您在此处传递Object
而不是Array
。 尝试使用DATA.products
创建dataSource
DATA.products
。
您当前正在将数据源指向需要数组的对象。 因此,简单的实现可能是(在.component.ts中):
dataSource = DATA["products"]
尝试使用它,对我有用
import { MatTableDataSource } from '@angular/material';
然后将以下内容添加到ngOniInit()
ngOnInit() {
this.dataSource = new MatTableDataSource(DATA);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.