PrimeNg p-dialog不在第一个显示中心

use*_*674 3 primeng angular

我正在构建一个角度2应用程序,并使用PrimeNg p-dialog建立一个对话框模态窗体.我注意到在某些情况下,对话窗口显示在屏幕的最左侧(而不是居中).但是,在拖动浏览器窗口时,对话框会正确居中.

我正在使用一个非常简单的对话框(根据primeng文档),然后将display设置为true:

<p-dialog header="Title" [(visible)]="display">
    Content
</p-dialog>
Run Code Online (Sandbox Code Playgroud)

任何想法为什么对话框从一开始就没有居中?

ste*_*ers 6

这对我有用:

从组件我得到对话框的引用,如下所示:

import { Dialog } from 'primeng/dialog';
...
@ViewChild(Dialog) dialog;
Run Code Online (Sandbox Code Playgroud)

在导致对话框打开的函数中,我在setTimeout中调用center方法.

window.setTimeout(() => { this.dialog.center(); });
Run Code Online (Sandbox Code Playgroud)