I am using a mat-table to list the content of the users chosen languages. They can also add new languages using dialog panel. After they added a language and returned back.
In Angular 9, the secret is this.dataSource.data = this.dataSource.data;
Example:
import { MatTableDataSource } from '@angular/material/table';
dataSource: MatTableDataSource;
refresh(): void {
this.applySomeModif();
// Do what you want with dataSource
this.dataSource.data = this.dataSource.data;
}
applySomeModif(): void {
// add some data
this.dataSource.data.push(new MyObject());
// delete index number 4
this.dataSource.data.splice(4, 0);
}