在我的页面中有一些 commandButton 可以打开带有 table 的对话框。
表有 300 行,关闭 HTML 对话框后不会销毁并保留在 HTML 页面中。
我想在隐藏后销毁对话框中的数据。然后单击 commandButton 重复操作加载对话框并在对话框中加载数据。
我找到了这个方法

<p:ajax event="close" update="growl" listener="#{dialogBean.handleClose}"/>

但不知道如何从facescontext 中破坏对话框。

最佳答案

假设您有以下对话框

<p:dialog id="dialog" widgetVar="dlgVar" dynamic="true" >
  <p:ajax event="close" update="growl" listener="#{dialogBean.handleClose}"
   onstart="PF('dlgVar').content.empty()"/>
</p:dialog>

按钮

<p:commandButton value="Button"
                 onComplete="PF('dlgVar').show()"
                 update="dialog">

或者您可以在对话框的 PF('dlgVar').content.empty() 中调用 onHide,如果您不需要 ajax 请求。

<p:dialog id="dialog" widgetVar="dlgVar"
          dynamic="true"
         onHide="PF('dlgVar').content.empty()">
</p:dialog>

关于jsf - 从母版页关闭后销毁primefaces对话框中的数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20589981/

10-14 12:33
查看更多