javascript - PrimeNG:对话框在初始化后没有响应

标签 javascript css angular primeng

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

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

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

我使用以下声明:

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

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

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

最佳答案

我找到了使用 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'));

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

关于javascript - PrimeNG:对话框在初始化后没有响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47178838/

相关文章:

javascript - Angular http GET 405(不允许的方法)

javascript - Node.js require() 总是返回未定义?

html - 如何使 "position: absolute"元素居中

angular - 获取 CORS 错误而不是错误 500(不存在 'Access-Control-Allow-Origin' header )

angular - 如何在本地开发相互依赖的 Angular 7 库? (npm 链接问题)

angular - 类型 'Draw' 上不存在属性 'typeof Control'

javascript - 单击按钮时将值附加到文本框

javascript - 单击时显示隐藏的 div 和隐藏按钮

html - 手机版网站

html - 无法让我的页面响应移动设备