Это приблизительный ответ, но perhafs может вас вдохновить
Вы можете присвоить один «id» разный для каждого MatDialog (и передать как элемент данных)
const dialogRef = this.dialog.open(YourComponentDialog, {
width: '250px',
data: {data: test, id:'child'}, //<--this
disableClose:true,
hasBackdrop:false,
id:'child' //<--this
});
If в конструкторе компонентов, которые вы вводите OverlayContainer
constructor(public cdk:OverlayContainer,...){}
Вы можете создать функцию toTop, которая получит «id»
toTop(id)
{
this.cdk.getContainerElement().childNodes.forEach((x:any)=>{
if (x.innerHTML.indexOf('id="'+id+'"')<=0)
x.style["z-index"]=1000;
else
x.style["z-index"]=1001;
})
}
Просто вызовите функцию в (щелкните) -вы может вызвать функцию, только если вы щелкнете заголовок или в нескольких местах.
a stackblitz
ПРИМЕЧАНИЕ: сохранить в переменной, если родитель открывает дочерний элемент. поэтому, прежде чем открывать дочерний элемент, проверьте переменную, и если она открыта, просто отправьте ее наверх