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

时间:2016-11-25 08:48:18

标签: angular primeng

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

我使用了一个非常简单的对话框(根据primeng documentation),然后将显示设置为true:

<p-dialog header="Title" [(visible)]="display">
    Content
</p-dialog>

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

3 个答案:

答案 0 :(得分:5)

这对我有用:

从组件中,我像这样获得对话框的引用:

HeaderComponent

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

import { Dialog } from 'primeng/dialog';
...
@ViewChild(Dialog) dialog;

答案 1 :(得分:1)

在进一步调查后,我发现问题是对话框在ngIf中被包围。删除后,定位得到纠正。

答案 2 :(得分:1)

我遇到了类似的问题。对话框位置位于屏幕的最右侧。

在我的情况下,我使用了响应属性,因此我必须为width属性设置一个特定的宽度。

<p-dialog  
    width="640"
    modal="modal" 
    dismissableMask="true" 
    [responsive]="true"
    [(visible)]="display">