这是最容易用图片解释的。我很抱歉,但我没有在内部发布此内容的声誉。
总而言之:primefaces selectonemenu 在与其关联的菜单项上方显示菜单。上面我的意思是在 y 轴上,而不是像通常描述的那样在前面或顶部。如果我使用核心 jsf selectonemenu,这将按预期工作。更奇怪的是,它只在 Firefox 或 IE 中执行此操作,而不是在 chrome 中。有人对如何解决此问题有任何建议吗?似乎这可能是一个 css 问题,但我没有足够的知识来确定这一点,如果是这样,可能的解决方案可能是什么。我在下面包含了 jsf 的完整副本。PS 这种行为在没有额外的换行符和面板网格的情况下仍然存在。如果没有换行符,菜单就会从浏览器窗口的顶部掉下来。
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui">
<h:head>
<title>Insert title here</title>
</h:head>
<body>
<h:form>
<h:panelGrid columns="2" style="margin-bottom:10px" cellpadding="5">
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<h:outputText value="Basic Usage: " />
<p:selectOneMenu value="#{buttonBean.number}">
<f:selectItem itemLabel="Select One" itemValue="" />
<f:selectItem itemLabel="Option 1" itemValue="1" />
<f:selectItem itemLabel="Option 2" itemValue="2" />
<f:selectItem itemLabel="Option 3" itemValue="3" />
</p:selectOneMenu>
</h:panelGrid>
</h:form>
</body>
</html>