1 angular-material angular mat-table
我正在对 mat-table 进行排序和删除/添加。
我一直在读这篇文章,无需排序即可正常工作。
当我在表上使用mat-table和属性时,停止工作。matSortrenderRows()
一旦我删除排序属性,它就会再次起作用。
我找到了一个替代解决方案,但最好知道我是否做错了什么,是否有其他人使其工作,这是一个错误还是预期的行为?
不起作用:
delete(index: number): void {
this.dataSource.data.splice(index, 1);
this.table.renderRows();
}
Run Code Online (Sandbox Code Playgroud)
有效:
delete(id: number): void {
this.dataSource.data = this.dataSource.data.filter( (item: any) => item.id !== id);
}
Run Code Online (Sandbox Code Playgroud)
小智 7
在按项目索引 splice() 之后,您应该更新数据源。
delete(id: number, index: number): void {
this.dataSource.data.splice(index, 1);
this.table.renderRows();
this.dataSource._updateChangeSubscription(); // <-- Refresh the datasource
}
Run Code Online (Sandbox Code Playgroud)
工作示例链接Stackblitz
| 归档时间: |
|
| 查看次数: |
1485 次 |
| 最近记录: |