【发布时间】:2026-01-26 05:50:01
【问题描述】:
我有一个带有可扩展行的材料表 (https://material.angular.io/components/table/examples),我想管理对表本身的删除操作,因此我创建了一个删除按钮,该按钮具有触发删除事件的功能。 api有效,记录被正确删除,但删除后表没有刷新,我想实现这个行为。这是一个带有假 api 的堆栈闪电战:https://stackblitz.com/edit/angular-comzph
我尝试在我的删除函数中调用 ngOnInt 并导航回同一条路线,但没有任何反应...
deleteCustomer(id) {
this.api.deleteCustomer(id)
.subscribe(res => {
alert(`cliente rimosso`);
// TODO fix reload list after delete
// this.router.navigate['/clienti'];
this.ngOnInit();
}, (err) => {
console.log(err);
}
);
}
我尝试使用this solution too,但不起作用。我尝试使用 ngOnChange 和 ngOnDestroy,但也不起作用...
有人可以帮我吗?
【问题讨论】:
-
您可以通过调用您的 api 再次获取数据来刷新表数据集,而不是完全刷新或重新初始化组件。
-
我也尝试在
deleteCustomer()方法中调用this.api.getCustomers(),但不起作用 -
也许使用管道?
this.api.deleteCustomer(id).pipe(flatMap(_ => this.api.getCustomers)).subscribe(result => { // Assign to data }) -
不,不工作。
datasource传递给 mat-table html 的属性可能存在问题 -
我用这个解决方案解决了这个问题:*.com/questions/46746598/…,谢谢你的帮助
标签: angular rest angular-material refresh http-delete