html - 如何在 Angular 中实现删除功能
问题描述
我在 Angular 组项目中,我正在尝试为当前工作区实现删除功能,但我不知道该怎么做。关于如何做到这一点的任何建议或帮助?
在 add-workspace.HTML 文件中,我有一个显示对话框的按钮(delete-workspace-dialog)。
在 delete-workspace-dialog 组件文件中,有一个删除按钮。我正在尝试使用该按钮删除当前工作区。
在 delete-workspace.dialog.ts 文件中又名删除对话框
export class DeleteWorkspaceDialogComponent implements OnInit {
constructor(
public dialogRef: MatDialogRef<DeleteWorkspaceDialogComponent>,
@Inject(MAT_DIALOG_DATA) public data: any) { }
ngOnInit(): void {
}
onNoClick(): void {
this.dialogRef.close();
}
onDeleteClick(): void{
// Delete workspace here
}
}
我正在尝试使用“是,删除它”按钮来删除当前工作区
解决方案
希望下面的片段可能会有所帮助:
在删除弹出组件中:
import { WorkspaceService } from 'src/app/core/services/workspace.service';
export class DeleteWorkspaceDialogComponent implements OnInit {
constructor(
public dialogRef: MatDialogRef<DeleteWorkspaceDialogComponent>,
@Inject(MAT_DIALOG_DATA) public data: any,
private workspaceService: WorkspaceService) { }
ngOnInit(): void {
}
onNoClick(): void {
this.dialogRef.close();
}
onDeleteClick(): void{
// Delete workspace here
this.workspaceService.deleteWorkspace(data.workspace).subscribe(response=>{
// Do some logic and close the popup
this.dialogRef.close();
},error=>{
// Error handling and close the popup
this.dialogRef.close();
})
}
}
从父组件打开删除弹出窗口:
HTML:
<button (click)="delete()">Delete</button>
TS:
delete(){
this.dialog.open(DeleteWorkspaceDialogComponent,{
data: {
workspace: this.workspace
}
});
}
在这里,您传递要删除的工作空间,在删除弹出窗口中,您正在调用服务以删除工作空间。
希望它会有所帮助。
推荐阅读
- javascript - .attr('checked', true)不会在按钮点击时重新添加
- wordpress - Apache 从不同的根目录访问 example.com/app
- javascript - 识别在 Firebase 数据库中单击了哪个单选按钮
- ios - NSAttributedString 中字距调整的不一致行为
- java - 解决Web应用程序中发生的空指针异常
- symfony - 如何将已删除的属性设置为 true,而不是在 Symfony 中删除相关的学说实体
- angular - 如何使用拦截修改响应?
- javascript - 获取 NotAllowedError: play() 失败,因为即使用户正在按键,用户也没有首先与文档交互
- c# - System.Data.SqlClient.SqlException:'尝试在数据库中插入数据时对象名称无效(C#,Visual Studio)
- javascript - 从 CSS 类中修剪第一个和最后一个字符