Dav*_*vid 1 angular-material angular material-dialog
我有打开材质对话框的组件 A
组分A
openDialog(): void {
const dialogRef = this.dialog.open(**component B**, {
width: '1000px',
});
Run Code Online (Sandbox Code Playgroud)
然后我使用在该对话框中加载图像并使用按钮上传我使用组件 B 将其上传到服务器。现在,当我完成上传图像时,我想从组件 B 关闭该对话框。
B组份
onUpload() {
const fd = new FormData();
fd.append('image', this.selectedFile);
this.service.uploadImage(fd).subscribe(
(res:any)=>
{
//how to close dialog here ?
},
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点 ?
小智 6
通过 MatDialog 创建的组件可以注入 MatDialogRef 并使用它来关闭包含它们的对话框。关闭时,可以提供一个可选的结果值。这个结果值作为 afterClosed 承诺的结果被转发
export class ComponentB {
constructor(
public dialogRef: MatDialogRef<DialogOverviewExampleDialog>
) {}
onUpload(): void {
// upload stuff
this.dialogRef.close();
}
}
Run Code Online (Sandbox Code Playgroud)