5

我想在打开内容 primafaces 对话框后更新它。可能吗?我的示例代码如下。

 <p:dialog widgetVar="pictureSaveDialog" id="pictureDialog" closable="false" >
   <p:outputPanel id="saveDialogPanel">

   <p:selectOneRadio id="options" value="#{pictureDefinitionsView.radioValue}"  >  
                <f:selectItem itemLabel="FILE" itemValue="FILE" />  
                <f:selectItem itemLabel=""  itemValue="URL" />  
         <p:ajax update="fileUpload1 fileUpload2" event="click" process="options"  />
   </p:selectOneRadio>

   <p:outputPanel id="fileUpload1" rendered="#{pictureDefinitionsView.selectedFileUpload}">   File </p:outputPanel>

 <p:outputPanel id="fileUpload2" rendered="#{pictureDefinitionsView.selectedUrlUpload}">   URL </p:outputPanel>
</p:outputPanel id="saveDialogPanel">

豆方法。

    public boolean isSelectedFileUpload(){
    return radioValue.equals("FILE");
    } 
public boolean isSelectedUrlUpload(){
    return !isSelectedFileUpload();
    }
4

2 回答 2

10

您可以定义哪个只是更新对话框,并在属性p:remoteCommand中调用该命令:onShow

<p:remoteCommand name="updateDialog" update="saveDialogPanel"/>

<p:dialog widgetVar="pictureSaveDialog" id="pictureDialog" closable="false" onShow="updateDialog()">

如果您saveDialogPanel在某个命名容器中,请添加适当的前缀以匹配组件的 id。

于 2013-03-06T10:52:33.147 回答
3

您最好在打开之前刷新对话框内容

您的 p:commandButton/p:ajax 应具有以下内容:

update="pictureDialog" onsuccess="pictureSaveDialog.show()"
于 2013-03-06T12:05:23.190 回答