我使用Angular Material表(mat-table)和paginator(mat-paginator)来渲染大表 . 我想将整个表格(所有页面)导出为CSV格式 . 我可以将当前页面导出为CSV,但不能同时导出所有页面 .

我不能只从数据源导出数据,因为模板使用管道和其他格式,我需要导出具有相同的格式 .

一种选择是当用户点击导出时,它将禁用分页,运行导出代码,然后在正确设置当前页面的情况下重新启用分页 . 但是用户会看到屏幕发生变化,浏览器可能需要一些时间才能在屏幕上完全呈现整个大表 . 有没有一种更有效的方法在Angular中执行此操作,我可以在内存或屏幕外重新生成该表组件,以便用户不会注意到表更改等等?