Primefaces 5 overlayPanel在更新后损坏



今天我在P5中发现了一个新的bug。当我更新按钮,覆盖面板是指,它不再工作-覆盖面板不再显示。

作为一种变通方法,我确实使用PF('widgetVar').loadContents();,但这感觉非常不舒服。

在PF4中,这在没有任何变通的情况下工作。

有人有解决办法吗?

我的解决方案:

  • 不更新单个按钮打开叠加,更新两个
  • 同时添加dismissable="false" showCloseIcon="true"
  • 在对话框上使用覆盖的情况下:添加appendTo="@(body)"

示例代码:

<p:commandButton value="updateSection" update=":form:overlayPanelGroup" />
<h:panelGroup id="overlayPanelGroup">
  <p:commandButton id="openOverlayBtn" process="@this" value="openOverlay"/>                                
  <p:overlayPanel for="openOverlayBtn" showEffect="fade" hideEffect="fade" dismissable="false" showCloseIcon="true" appendTo="@(body)">
    <h:outputText value="textSample"/>
  </p:overlayPanel>
</h:panelGroup>

我不知道你到底在指什么。更新按钮是什么意思?

对于我来说,以下代码在PrimeFaces 5.0中工作得很好:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:p="http://primefaces.org/ui"
    xmlns:pm="http://primefaces.org/mobile">
<h:head>
</h:head>
<h:body>
    <p:commandButton id="menuButton" value="Menu" icon="ui-icon-home"/>
    <p:overlayPanel for="menuButton" widgetVar="menuPanel" at="left" showEffect="push">
        <!-- overlayPanel content goes here -->
    </p:overlayPanel>
</h:body>
</html>

这对你的问题有帮助吗?

相关内容

  • 没有找到相关文章

最新更新