我正在使用Primefaces 6.2。将选择框放置在对话框中并将其打开时,它将沿主页滚动。
为避免这种情况,我添加了appendTo="@(this)"
。进行此更改后,滚动可以正常工作,但是如果下拉菜单的高度超出了对话框的高度,则会自动为下拉菜单和对话框创建滚动条。
示例:
<p:dialog widgetVar="eventDialog" >
<p:selectOneMenu id="dummy" value="Selection" appendTo="@(this)">
<f:selectItems value="selection 1" />
<f:selectItems value="selection 2" />
</p:selectOneMenu>
</p>
为避免滚动条并使下拉菜单溢出,我尝试使用panelStyle="position:fixed"
而不是appendTo="@(this)"
。使用此解决方案时,我遇到的问题是,如果我有一个大页面并向下滚动到底部,则下拉菜单不可见,请打开对话框并单击下拉菜单。
示例:
<p:dialog widgetVar="eventDialog" >
<p:selectOneMenu id="dummy" value="Selection" panelStyle="position:fixed">
<f:selectItems value="selection 1" />
<f:selectItems value="selection 2" />
</p:selectOneMenu>
</p>
通过这种方式,我在帖子“ p:selectOneMenu dropdown part scrolls and does not stay in position”中找到了两种解决方案。