MatPaginator在从MatTableDataSource中删除行时无法正常工作

时间:2018-03-14 08:10:54

标签: angular angular-material

我创建了一个使用角度材质在角度2中进行选择和分页的表格。

我选择了一个名为删除所选行的按钮,以从表中删除所选行。

但是,当删除所选行时,所有正在加载的表数据都与为分页指定的值不匹配。

下面是我的代码的堆栈 - 闪电战链接..

https://stackblitz.com/edit/delete-rows-mat-table-vj4hbg?file=app%2Ftable-selection-example.html

下面显示的是输出。

最初,该表仅显示为分页值指定的行。

enter image description here

但是当我删除第3行时,即使分页值只有3,也会加载所有行。

enter image description here

任何人都可以告诉我如何使用删除行后指定的分页值限制我的表行。

2 个答案:

答案 0 :(得分:5)

<强> Here you go buddy.

删除后,您忘记将分页器重新分配给数据源。 Angular可能会做一些魔术,但有时它需要一些帮助。

我使用超时因为我总是面临一个问题,请不要尝试。

setTimeout(() => {
  this.dataSource.paginator = this.paginator;
});

答案 1 :(得分:0)

关闭与订阅和调用列表API的对话框后非常简单

openDialog(requestId): void {
   //this.abc=requestId;
   const dialogRef = this.dialog.open(DialogOverviewExampleDialog,  {
     disableClose: true,
     width: '400px',
     data: { name: this.name, animal: this.animal, sendtochild: requestId }
   });

   dialogRef.afterClosed().subscribe(result => {
     this.getUserList();
   });
}