在 angular 9 中刷新 mat-table

Refresh mat-table in angular 9

当我删除元素时,我的 MAT-TABLE 没有刷新

.ts 文件

import { MatTableDataSource, MatTable } from '@angular/material/table';
@ViewChild(MatTable) table: MatTable<any>;

const index = this.dataSource.data.findIndex(d => Number(d.id) == Number(id)); 
this.dataSource.data.splice(index, 1);
this.table.renderRows();

.html 文件

<table mat-table [dataSource]="dataSource" class="lessons-table mat-elevation-z8" matSort table>

要更新 mat-table 数据,您需要将新数组不变地分配给您的 dataSource

试试这个。

this.dataSource.data = this.dataSource.data.splice(index, 1);