您好,我一直在寻找解决此问题的方法,但似乎找不到解决方法。希望你们中的一个能帮助我。
我在对话框组件中有一个primefaces(v6.2,omega主题)日历组件(弹出窗口,而不是嵌入式)。打开对话框并单击日历输入字段时,将显示日历弹出窗口。我想做的是将其弹出到输入字段旁边(对话框外部的常规行为)。但是,我面临的问题是,当我向下滚动页面并单击输入组件时,将显示弹出窗口,但相对于输入字段具有一定的偏移量。 以下屏幕截图说明了该问题。
这是我的代码:
<p:dialog id="dialog"
widgetVar="dialog"
modal="true">
<p:panel id="panel">
<p:outputPanel id="outputPanel">
<p:panelGrid columns="2" layout="grid"
columnClasses="ui-grid-col-3, ui-grid-col-4"
styleClass="ui-noborder" width="100%">
<p:outputLabel for="date" value="#{msg.date}"/>
<p:calendar id="date" value="#{date}"
navigator="true" mask="true" pattern="dd/MM/yyyy"/>
</p:panelGrid>
</p:outputPanel>
</p:panel>
....
</p:dialog>
我对CSS不太满意,所以希望这是一个简单的解决方法,但可悲的是我自己也无法弄清楚。
答案 0 :(得分:1)
截至 2021 年 3 月,此问题尚未解决
https://github.com/primefaces/primefaces/issues/3868
https://github.com/primefaces/primefaces/issues/5740
https://github.com/primefaces/primefaces/issues/6583
为了解决我的问题,我把
<p:dialog blockScroll="true">
确保触发对话框的按钮具有
window.scrollTo(0,0);