Primefaces 关闭模态而不隐藏对话框
Primefaces close modal without hide dialog
我在 JavaEE 8 上使用 primefaces 6.2。
我有一个带有命令按钮的基本对话框,在上面创建了一个模态。(抱歉英语不好!)
我想在不关闭基本对话框的情况下关闭模式。
如何解决这个问题?
<p:dialog header="Basic Dialog" id="user-management" widgetVar="user-management" width="700px" height="300px" resizable="false">
<p:toolbar>
<f:facet name="left">
<p:commandButton type="button" title="Add" icon="ui-icon-plus" onclick="PF('userDialog').show();"/>
</f:facet>
</p:toolbar>
<p:spacer/>
<p:dataTable value="#{userGroupBean.userSet}" var="user">
// Show user information
</p:dataTable>
</p:dialog>
<p:dialog header="User"
widgetVar="userDialog"
closeOnEscape="true"
resizable="true"
modal="true"
showEffect="fade"
hideEffect="fade"
height="auto"
width="auto">
<h:panelGrid columns="2">
// Some inputs ...
</h:panelGrid>
<p:spacer/>
<div class="dialog-footer">
<p:commandButton value="Save"
oncomplete="PF('userDialog').hide();"
process="@form"
update="user-management"
action="#{userGroupBean.save}"/>
</div>
</p:dialog>
基本对话框不是 'closed',它是通过 update="user-management"
更新的,因此从服务器返回的 html 放在 html dom 在默认状态下的对话框中:关闭。您有多种选择:
- 不要更新对话框,而是通过添加例如更新它的内容(我的首选解决方案)里面的一个面板并更新它
- 在 bean 中设置标志并使用
visible="#{mybean.dialogIsVisibleFlag}"
- 在 ajax 调用的 oncomplete 中执行
PF('user-management').show()
我在 JavaEE 8 上使用 primefaces 6.2。
我有一个带有命令按钮的基本对话框,在上面创建了一个模态。(抱歉英语不好!)
我想在不关闭基本对话框的情况下关闭模式。
如何解决这个问题?
<p:dialog header="Basic Dialog" id="user-management" widgetVar="user-management" width="700px" height="300px" resizable="false">
<p:toolbar>
<f:facet name="left">
<p:commandButton type="button" title="Add" icon="ui-icon-plus" onclick="PF('userDialog').show();"/>
</f:facet>
</p:toolbar>
<p:spacer/>
<p:dataTable value="#{userGroupBean.userSet}" var="user">
// Show user information
</p:dataTable>
</p:dialog>
<p:dialog header="User"
widgetVar="userDialog"
closeOnEscape="true"
resizable="true"
modal="true"
showEffect="fade"
hideEffect="fade"
height="auto"
width="auto">
<h:panelGrid columns="2">
// Some inputs ...
</h:panelGrid>
<p:spacer/>
<div class="dialog-footer">
<p:commandButton value="Save"
oncomplete="PF('userDialog').hide();"
process="@form"
update="user-management"
action="#{userGroupBean.save}"/>
</div>
</p:dialog>
基本对话框不是 'closed',它是通过 update="user-management"
更新的,因此从服务器返回的 html 放在 html dom 在默认状态下的对话框中:关闭。您有多种选择:
- 不要更新对话框,而是通过添加例如更新它的内容(我的首选解决方案)里面的一个面板并更新它
- 在 bean 中设置标志并使用
visible="#{mybean.dialogIsVisibleFlag}"
- 在 ajax 调用的 oncomplete 中执行
PF('user-management').show()