Я использую mat-table в моем компоненте оболочки
<div class="mat-table-wrapper mat-elevation-z8" [class.inline]="inline">
<table mat-table [dataSource]="dataSource" matSort class="app-mat-table">
<!-- Populating columns and cells -->
<ng-container *ngFor="let column of displayedColumns;let i = index" matColumnDef="{{ column }}">
// custom column
</ng-container>
</table>
</div>
<div *ngIf="pagination" class="border-bottom border-left border-right">
<mat-paginator [length]="paginationConfig.length" [pageSizeOptions]="paginationSize" showFirstLastButtons (page)="changePagination($event)"></mat-paginator>
</div>
И я использую свою настраиваемую сетку в app.component.ts, как показано ниже
<app-mat-table [paginationConfig]="{'length': totalFiles}" [pagination]="true" [APIPagination]="true"
(pageChange)="pageChange($event)" [paginationSize]="[regPageSize]"
[data]="dataSource" (cellClick)="cellClick($event)" sortable="false"
[columns]="columns">
</app-mat-table>
При удалении записи из таблица mat со страницы (скажем, страница 2), я вызываю API, и он возвращает новые данные
this.dataSource = new MatTableDataSource(oldData);
deleteRow(row: Row) {
this.myservice.delete(row).subscribe( newData=> {
this.dataSource = new MatTableDataSource(newData);
};
}
Но когда я устанавливаю новый источник данных, он перемещается на страницу 1, обновляя таблицу. Я хочу остаться на той же странице и увидеть, что запись удалена. Как я могу это сделать?