我有好奇的渲染问题。我正在尝试使用按钮附加覆盖面板。当我按下按钮时,会渲染面板。但是,面板中的子组件不是。当面板可见时,我双击按钮,子组件得到渲染。同时,当面板未渲染且我双击时,子组件不会渲染(并且面板不会显示)。
生成的html和计算CSS对于绘制/未绘制的组件都是相同的。 你知道问题出在哪里吗?我错过了一些设置吗?我忽略了什么或者它是一个错误吗?
PrimeFaces模板:
<p:layoutUnit position="center">
<h:form>
<p:commandButton id="chooseLangBtn" value="Btn" type="button" />
<p:overlayPanel id="langPanel" for="chooseLangBtn" showCloseIcon="true" dismissable="true">
<p:selectOneListbox id="langSelect"
rendered="true"
value="#{selectOneLanguageView.language}"
converter="languageConverter"
var="t" filter="true"
filterMatchMode="startsWith">
<f:selectItems value="#{languageService.languages}"
var="lang"
itemLabel="#{lang.name}"
itemValue="#{lang}" />
<p:column>
<h:graphicImage width="22px" alt="#{lang.name}" library="main" name="images/flags/var/#{t.code}.svg"/>
</p:column>
<p:column>
<h:outputText value="#{t.name}" />
</p:column>
</p:selectOneListbox>
</p:overlayPanel>
</h:form>