【发布时间】:2020-08-07 19:29:57
【问题描述】:
我在显示从我的客户端获取的 JSON 对象之一的数据时遇到问题。我只看到标题数据。我不清楚我错过了什么。
我查看了客户端发送的JSON文件,很好。
TS 文件代码:
import { Component, OnInit, Input } from '@angular/core';
import { MatTableDataSource } from '@angular/material/table';
@Component({
selector: 'app-list-student',
templateUrl: './list-student.component.html',
styleUrls: ['./list-student.component.css']
})
export class ListStudentComponent implements OnInit {
studentData: any;
headerColumns: string[] = ["FIRST_NAME", "LAST_NAME", "DOB_DATE"];
dataSource = new MatTableDataSource([]);
summaryTableConfig = [
{
'headerValue' : 'First Name',
'columnValue' : 'FIRST_NAME',
},
{
'headerValue' : 'Last Name',
'columnValue' : 'LAST_NAME',
},
{
'headerValue' : 'DOB',
'columnValue' : 'DOB_DATE',
}
];
constructor() { }
ngOnInit() {
this.studentData = {"header": {"columnsMap": {"DOB_DATE": "12/12/1942","FIRST_NAME": "JOHN","LAST_NAME": "DOE"}}};
this.dataSource = new MatTableDataSource;
this.dataSource.data = this.studentData;
}
}
HTML 代码
<mat-table [dataSource]="dataSource">
<ng-container *ngFor="let data of summaryTableConfig" [matColumnDef]="data.columnValue">
<mat-header-cell *matHeaderCellDef>
<span>{{ data.headerValue }}</span>
</mat-header-cell>
<mat-cell *matCellDef="let element">
<span>{{element["columnsMap"][data.columnValue]}}</span>
</mat-cell>
</ng-container>
<mat-header-row *matHeaderRowDef="headerColumns"></mat-header-row>
<mat-row *matRowDef="let row; columns: headerColumns;"></mat-row>
</mat-table>
【问题讨论】:
-
你可以为此创建 stackblitz 吗?
-
我对 Angular 还是很陌生。
-
stackblitz.com 创建您正在处理的示例代码。
-
我无法向 stackblitz 添加角度材料
-
stackblitz.com/edit/angular-mat-table-design fork 并添加您的代码
标签: angular typescript datasource mat-table