- 解决方法
在最后一个弹窗上面加属性:
:append-to-body="true"
嵌套Dialog必须指定该标签,这个属性是加载最后弹出的弹窗身上的
- 分析
model-append-to-body
属性是让遮罩层插入body上面,如果为false,则遮罩层是在父元素身上的如果在最后一个弹框加入
:modal-append-to-body="false"
打开第二个弹窗的时候是没有问题的,但当你关闭第二个弹窗,遮罩层不会消失。这是因为当你将第二个弹窗设置:modal-append-to-body="false"的时候,第二成弹窗遮罩层的属性被添加到了父元素上,也就是第一个弹窗,当关闭第二个弹窗的时候,第一个弹窗的z-index 被降低(因为它是第二个弹窗的遮罩层),此时,第一个弹窗的遮罩层依然存在(z-index最高),所以整个屏幕都会变黑(包括第一个弹窗)。而append-to-body属性是把遮罩层属性放在了body上。关闭第二个弹窗不会影响第一个弹窗的z-index,所以第一个弹窗的z-index是最高的,不会被遮罩层盖住。