angular - MatTableDataSource 无法读取 Angular 7 中未定义的属性“数据”
问题描述
我正在尝试MatTableDataSource
在 Angular 7 中实现,我正在遵循Angular Material指南,但它似乎不起作用,我得到了`
无法读取未定义的属性“数据”
`。在控制台打印时,数据已绑定并显示结果,但未绑定到我的表。
HTML
<div class="mat-elevation-z8 full-width-table" *ngIf="brList">
<table class="full-width-table" mat-table [dataSource]="brList" matSort aria-label="Elements">
<!-- Id Column -->
<ng-container matColumnDef="id">
<th mat-header-cell *matHeaderCellDef mat-sort-header>Id</th>
<td mat-cell *matCellDef="let row">{{row.id}}</td>
</ng-container>
<!-- Name Column -->
<ng-container matColumnDef="name">
<th mat-header-cell *matHeaderCellDef mat-sort-header>Name</th>
<td mat-cell *matCellDef="let row">{{row.name}}</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
</table>
<mat-paginator #paginator
[length]="dataSource.data.length"
[pageIndex]="0"
[pageSize]="10"
[pageSizeOptions]="[10, 15, 20, 25]">
</mat-paginator>
</div>
模型
export interface Br {
id: number;
name: string;
}
零件
export class ListBComponent implements OnInit {
@ViewChild(MatPaginator) paginator: MatPaginator;
@ViewChild(MatSort) sort: MatSort;
brList: MatTableDataSource<Br> = new MatTableDataSource<Br>();
displayedColumns = ['id', 'name'];
constructor(private mm: BrService){
}
ngOnInit() {
this.mm.getMM().subscribe(
result =>
{
this.brList.data = result;
this.brList.paginator = this.paginator;
this.brList.sort = this.sort;
console.log(this.brList); //prints the data correctly
})
}
解决方案
错误在这里:
<mat-paginator #paginator
[length]="dataSource.data.length"
[pageIndex]="0"
[pageSize]="10"
[pageSizeOptions]="[10, 15, 20, 25]">
</mat-paginator>
我认为不是dataSource.data.length
你的意思brList.data.length
。
推荐阅读
- python - 包含表单的 Django ListView
- php - 消息:语法错误,意外的“公共”(T_PUBLIC),预期文件结束
- python - 如何用python编写代码(来自vb网友)
- ruby-on-rails - 使用表单模型跟踪错误数量的参数(给定 9,预期为 0)
- ios - SKActions 有时不起作用,但如果最小化游戏并重新打开它,它会起作用。这怎么可能发生?
- ios - 即使在主线程上调用了图像,它也没有在 UIImageView 中显示
- javascript - 绝对路径适用于反应项目安装,但在另一个安装时失败。为什么?
- r - 在 R 中批量处理一个 30GB 的 json 文件
- c - GPS +加速度计的C语言中的任何卡尔曼滤波器实现?
- python-3.x - 如何使用坐标点在图像上创建热图?