2

我使用 Primefaces 对话框框架打开一个对话框

RequestContext.getCurrentInstance().openDialog("myDialog", options, null);

然后,我想在对话框的关闭事件之后更新基本页面中的组件。我知道我们可以添加一个 'dialogReturn' ajax 事件

<p:ajax event="dialogReturn" update = ":form:colors"  />

但是如何使用对话框框架以编程方式执行此操作?

4

1 回答 1

0

解决方法:

将打开对话框的操作分配给按钮;使用 javascript 调用该按钮的 click() 方法并为其分配一个 dialogReturn:

public void openDialogWithJS(){
            RequestContext.getCurrentInstance().execute("$('#myForm\\\\:myButton').click()");
    }



public void showDialog(){
    RequestContext.getCurrentInstance().openDialog("myDialog", options, null);
}
<h:form id="myForm">
                <p:commandButton id="myButton" actionListener="#{myBean.showDialog}" style="display: none;">
                    <p:ajax event="dialogReturn"  update = "myComponentId"/>
                </p:commandButton>
</h:form>
于 2018-06-13T05:24:37.413 回答