【发布时间】:2019-06-19 08:48:51
【问题描述】:
目前我正在使用来自 PrimeNG 的对话框,如下所示:
<button type="button" class="button button-3 button-3a"
(click)="openCloseFront()"><iclass="fa fa-eye"></i>View Image
</button>
<button type="button" class="button button-3 button-3a"
(click)="openCloseBack()"><iclass="fa fa-eye"></i>View Image
</button>
<p-dialog [(visible)]="frontOpened" header="ID Front Side"
[responsive]="true"
[style]="{width: '350px', minWidth: '200px'}"
[minY]="70" [maximizable]="true"
[baseZIndex]="10000">
/* code here with img*/
</p-dialog>
<p-dialog [(visible)]="backOpened" header="ID Back Side"
[responsive]="true"
[style]="{width: '350px', minWidth: '200px'}"
[minY]="70" [maximizable]="true"
[baseZIndex]="10000">
/* code here with img*/
</p-dialog>
我使用按钮打开它们,如下所示:
public openCloseFront() {
this.frontOpened = !this.frontOpened;
}
public openCloseBack() {
this.backOpened = !this.backOpened;
}
当前行为是最后打开的对话框是具有最大z-index 的对话框。这里的问题是当我单击它时找不到显示对话框的方法。我的意思是,当我单击对话框时,我想将z-index 设置为最高,以便将它放在所有人面前。有什么想法吗?
【问题讨论】:
-
如果多个元素具有相同的 z-index,那么它们放置在 parent 中的顺序将很重要,最后一个将被绘制在顶部,因此您可以使用一些焦点管理器来增加其中一个窗口的 z-index + 1 当它被点击并返回默认值,如果它点击了其他东西
-
@Xesenix 每个对话框都有不同的 z-index。每次我打开一个对话框时,z-index 都会增加。
-
在源代码github.com/primefaces/primeng/blob/… 中我看到
[autoZIndex]="false"有一个选项,如果有什么可以实现聚焦,请进一步搜索 -
并找到
moveOnTop现在只需将其连接到onclick,请注意这确实需要打开[autoZIndex]=true -
谢谢@Xesenix 我找到了我会发布的解决方案!再次感谢!
标签: angular primeng primeng-dialog