【问题标题】:PrimeNG: dialog doesn't get responsive after initPrimeNG:对话框在初始化后没有响应
【发布时间】:2018-04-21 02:08:02
【问题描述】:

我有来自 PrimeNG 4.2.2 的带有 p-dialog 组件的 Angular 应用程序

对话框显示动态内容(里面有一个表格)。如果表格没有全屏显示,它应该显示滚动条,以便用户能够从对话框的页脚看到元素。

问题是对话框只有在调整浏览器窗口大小后才会响应。对话框初始化后,对话框不会进入屏幕,页脚中的界面元素不可见。调整大小后才进入正常状态。

我使用以下声明:

<p-dialog *ngIf="displayDialog" [(visible)]="displayDialog" 
        [responsive]="true" [modal]="true" 
        width="800" minWidth="850">
</p-dialog>

问:有人知道如何让对话框出现在屏幕上后做出响应吗?或者它可能是一个错误?有什么解决方法吗?

目前,我正在考虑在对话框初始化后手动生成调整大小事件。

【问题讨论】:

    标签: javascript css angular primeng


    【解决方案1】:

    我找到了使用CSS的解决方法:

    我将对话框元素的内容包装成具有特定样式的div

    <p-dialog ...>
        <div class="ui-grid ui-grid-responsive ui-fluid"
             style="overflow-y: auto; max-height: calc(100vh - 250px);">
            ...content
        </div>
    </p-dialog>
    

    它看起来并不理想,但工作正常。

    另一个选项是触发调整大小事件:

    window.dispatchEvent(new Event('resize'));
    

    它也能正常工作,但需要一些延迟调用,这并不好。

    【讨论】:

      猜你喜欢
      • 2013-03-12
      • 2017-12-04
      • 1970-01-01
      • 1970-01-01
      • 2013-03-09
      • 1970-01-01
      • 2011-01-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多