我点击p:dialog
行后会显示p:dataTable
。我在p:commandButton
中有一个p:dialog
,它有一个action
,如下所示:
<p:commandButton value="Cambiar" action="#{adminUsuarios.cambiarPerfil()}" update="tblUsuarios" />
方法cambiarPerfil()
:
public void cambiarPerfil() {
// More stuff here
this.listaUsuarios = null; // Clear the list
}
效果不错但我想在p:dialog
之后关闭 p:commandButton action
。
这是对话框:
<h:form id="myForm">
<!-- More stuff-->
<p:dialog id="myDialog" widgetVar="editarDialog" header="Editar perfil de usuario #{adminUsuarios.usuarioSeleccionado.id_User}" resizable="false" width="400" showEffect="size" hideEffect="size">
<p:commandButton value="Cambiar" action="#{adminUsuarios.cambiarPerfil()}" update="tblUsuarios" />
</p:dialog>
</h:form>
答案 0 :(得分:5)
您需要在oncomplete
。
commandButton
客户端方法
<h:form id="myForm">
...
<p:dialog id="myDialog" widgetVar="editarDialog" ...>
<p:commandButton value="Cambiar" action="#{adminUsuarios.cambiarPerfil()}" update="tblUsuarios" oncomplete="editarDialog.hide();"/>
</p:dialog>
</h:form>
如果您正在使用PF5.0,则可能需要将其更改为oncomplete="PF('editarDialog').hide();"
,其中editarDialog是您的对话框的widgetVar
。