Angular 刷新角度为9的mat表
当我删除元素时,我的MAT-TABLE不会刷新 .ts文件Angular 刷新角度为9的mat表,angular,angular-material,angular9,Angular,Angular Material,Angular9,当我删除元素时,我的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
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();
从'@angular/material/table'导入{MatTableDataSource,MatTable};
@ViewChild(MatTable)表:MatTable;
const index=this.dataSource.data.findIndex(d=>Number(d.id)==Number(id));
this.dataSource.data.splice(索引,1);
this.table.renderRows();
.html文件
<table mat-table [dataSource]="dataSource" class="lessons-table mat-elevation-z8" matSort table>
对于要更新的
mat表
数据,您需要将新数组不可变地分配给数据源
试试这个
this.dataSource.data=this.dataSource.data.splice(索引,1);
更喜欢不可变的方法,如过滤器
并使用三重等于
:this.dataSource.data=this.dataSource.data.filter(item=>+item.id!=+id)代码>。这样,您就不需要使用findIndex
。