对话框组件中的Primefaces日历出现问题

时间:2019-02-21 13:49:02

标签: html css jsf primefaces

您好,我一直在寻找解决此问题的方法,但似乎找不到解决方法。希望你们中的一个能帮助我。

我在对话框组件中有一个primefaces(v6.2,omega主题)日历组件(弹出窗口,而不是嵌入式)。打开对话框并单击日历输入字段时,将显示日历弹出窗口。我想做的是将其弹出到输入字段旁边(对话框外部的常规行为)。但是,我面临的问题是,当我向下滚动页面并单击输入组件时,将显示弹出窗口,但相对于输入字段具有一定的偏移量。 以下屏幕截图说明了该问题。

first pic

second pic

这是我的代码:

<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不太满意,所以希望这是一个简单的解决方法,但可悲的是我自己也无法弄清楚。

1 个答案:

答案 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);