mat-table
не будет обнаруживать изменения в вашем dataSource
, если он был изменен в результате мутации, он будет перерисовываться только при изменении ссылки на массив.Попробуйте обновить data
в dataSource
неизменным образом после использования функции splice
, как показано ниже.
this.dataSource.data.splice(this.dataSource.data.indexOf(user), 1);
this.dataSource.data = [...this.dataSource.data];
Или, если у вас есть уникальное значение, скажем id
в user
, выможно использовать filter
, поскольку он создает новый массив.
deleteUser (id) {
this.dataSource.data = this.dataSource.data.filter(user => user.position !== id);
}
, где id
- это id
из user
, который вы хотите удалить.