这个问题大多数情况下是由于数据没有正确绑定到mat-table中导致的。可以在HTML模板中添加一个*ngIf指令检测数据是否存在,如果不存在,则不呈现mat-table。
示例代码:
HTML模板:
TS文件:
import { Component } from '@angular/core'; import { MatTableDataSource } from '@angular/material';
// 表格数据数组定义 const ELEMENT_DATA = [ {column1: '数据1'}, {column1: '数据2'}, {column1: '数据3'} ];
@Component({ selector: 'app-table', templateUrl: './table.component.html', styleUrls: ['./table.component.css'] }) export class TableComponent { // 需要绑定到mat-table的数据源 dataSource = new MatTableDataSource(ELEMENT_DATA); // 需要显示的表格列名 displayedColumns: string[] = ['column1']; }
注意:在实际情况中,数据源可能需要通过http请求动态获取,因此需要在数据加载完成后再绑定到mat-table中,此时可以将数据源设置为null,并在数据获取完成后将其替换为实际数据。