Angular 以间隔更新 matTableDatasource 使滚动到页面顶部
Angular updating matTableDatasource with interval brings scroll to the top of page
我有一个 mat-table 需要更新有关更改的信息。我设置了一个间隔,在间隔内我调用了一个类似于
的方法
updateMatTable(offset: number, size: number): void {
offset = offset * size;
/* GET DATA FROM REST SERVICE */
this.dataSource = new MatTableDataSource(this.newTableData.dataRows);
});
}
似乎将 dataSource 等同于 newTableData 会将滚动位置带到页面顶部 只有当我们处于可以在 mat-table 下方看到的滚动位置时(靠近页面底部 ) 并且 table 需要向下滚动
这是库的错误还是我遗漏了一些关于 mat-tables 的东西。
感谢您的回答
好的,我在代码下添加了一个变化检测器,它的行为并不奇怪。我想要一个解释。
updateMatTable(offset: number, size: number): void {
offset = offset * size;
/* GET DATA FROM REST SERVICE */
this.dataSource = new MatTableDataSource(this.newTableData.dataRows);
this.changeDetectorRef.detectChanges();
});
}
我有一个 mat-table 需要更新有关更改的信息。我设置了一个间隔,在间隔内我调用了一个类似于
的方法updateMatTable(offset: number, size: number): void {
offset = offset * size;
/* GET DATA FROM REST SERVICE */
this.dataSource = new MatTableDataSource(this.newTableData.dataRows);
});
}
似乎将 dataSource 等同于 newTableData 会将滚动位置带到页面顶部 只有当我们处于可以在 mat-table 下方看到的滚动位置时(靠近页面底部 ) 并且 table 需要向下滚动
这是库的错误还是我遗漏了一些关于 mat-tables 的东西。
感谢您的回答
好的,我在代码下添加了一个变化检测器,它的行为并不奇怪。我想要一个解释。
updateMatTable(offset: number, size: number): void {
offset = offset * size;
/* GET DATA FROM REST SERVICE */
this.dataSource = new MatTableDataSource(this.newTableData.dataRows);
this.changeDetectorRef.detectChanges();
});
}