2017-11-20 14 views
0

궁금한 렌더링 문제가 있습니다. 오버레이 패널을 버튼과 연결하려고합니다. 버튼을 누르면 패널이 렌더링됩니다. 그러나 패널의 하위 구성 요소는 그렇지 않습니다. 패널이 표시되고 버튼을 두 번 클릭하면 하위 구성 요소가 렌더링됩니다. 같은 시간에 패널이 렌더링되지 않고 두 번 클릭하면 하위 구성 요소가 렌더링되지 않고 패널이 표시되지 않습니다.p : overlayPanel이 하위 구성 요소를 올바르게 렌더링하지 않습니다.

생성 된 html 및 계산 된 CSS는 painted/non-painted 구성 요소 모두에 대해 동일합니다. 문제의 위치를 ​​알고 계십니까? 나는 약간의 설정이 빠졌습니까? 내가 뭔가를 간과했거나 버그입니까?

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> 

빈/렌더링 이미지 : enter image description here

+0

'p : overlayPanel'은 자식 구성 요소를 '렌더링'하지 않고 스스로 렌더링합니다. 당신은 또한 '레이아웃'없이 (mcve를 만드는 단계에서) 시도 했습니까? 그리고 overlayPanel의 설명서를 읽으십시오 ... 거기에있는 구성 요소와 관련하여 거기에 뭔가가 있습니다 ... – Kukeltje

+0

감사합니다. Kukeltje 당신의 대답을.하지만 테마 버그로 내게 보인다. 다른 테마로 변경하면 그림에 아무 문제가 없었다. 나는 사건을보고했다 : https://github.com/primefaces/themes/ issues/10 – JiangHongTiao

+0

어떤 테마가 실패하고 어떤 테마가 괜찮습니까? 그리고 당신의 PF 버전은 무엇입니까? – Kukeltje

답변