用斜角的第二个对话窗口关闭第一个对话窗口

时间:2018-10-04 10:33:31

标签: angular angular-material

场景:我有一个名为add-customer的组件,它通过单击一个名为Add的按钮显示在对话窗口中,如下图所示。

enter image description here

我在这里有2个按钮1)Save2)Cancel

单击Cancel按钮时,将出现另一个对话框,如下图所示。

enter image description here

在新的对话窗口中,我再次有两个分别称为1)Discard2)Cancel的按钮

单击Cancel后,新窗口将关闭,add-customer组件将保持与下图相同。

enter image description here

这是我的要求:

1)单击dicard按钮时,我想关闭两个对话窗口(意味着我要关闭两个弹出窗口)。

2)在这里,当我们在对话窗口之外单击时,add-customer组件正在关闭,但是我希望仅在单击discard按钮时才能关闭它。

我尝试通过为dialogRefdiscard按钮提供两个不同的cancel。没有结果。这是stackblitz链接。

2 个答案:

答案 0 :(得分:2)

您可以尝试一下

导入MatDialog

import {MatDialogRef,MatDialog} from '@angular/material';

注入构造函数

constructor(private dialog: MatDialog,..){}

而cancelN方法应该是

public cancelN(): void { 
    this.dialog.closeAll();
}

注意:它将关闭所有打开的对话框

答案 1 :(得分:2)

我只是发布了这个有效的stackblitz示例,以便对下一个访问者有所帮助。