【发布时间】:2020-03-01 02:47:39
【问题描述】:
我正在尝试实现一个过滤表 (https://primefaces.org/primeng/#/table/filter),但是我收到的 JSON 有很多级别,例如:
{
"id": "123",
"categorie": "nice",
"place": {
"rank": "first",
"person": {
"name": "Joe"
}
}
}
PrimeNG 的文档在组件中做了这个:
export class DynamicColumnsDemo implements OnInit {
cars: Car[];
cols: any[];
constructor(private carService: CarService) { }
ngOnInit() {
this.carService.getCarsSmall().then(cars => this.cars = cars);
this.cols = [
{ field: 'vin', header: 'Vin' },
{ field: 'year', header: 'Year' },
{ field: 'brand', header: 'Brand' },
{ field: 'color', header: 'Color' }
];
}
}
这在 HTML 上:
<p-table [value]="cars">
<ng-template pTemplate="header">
<tr>
<th *ngFor="let col of cols">
{{col.header}}
</th>
</tr>
</ng-template>
<ng-template pTemplate="body" let-car>
<tr>
<td *ngFor="let col of cols">
{{car[col.field]}}
</td>
</tr>
</ng-template>
</p-table>
但是,如何在“字段”属性上放置一个具有更多级别的 JSON,例如:
this.cols = [
{ field: 'place.person.name', header: 'Name' },
];
我已经尝试了 N 种方法,但我不知道这是否可能......
如果有人可以帮助我,谢谢!
问候。
【问题讨论】:
标签: javascript node.js angular typescript primeng