0

有没有办法在打开对话框时更新对话框标题文本?我曾经使用该dynamic属性并将其设置为true。但是由于 Form 和 Bean 状态的问题(对话框里面有一个表单),我不得不放弃它的使用。js 属性有一个钩子,onShow但我不确定如何从那里更新标题文本。

这是我的对话框的简化版本。它被定义为一个复合组件(未显示):

<composite:interface componentType="addEditDialog">
...
</composite:interface>

<composite:implementation>
    <p:dialog>
        <f:facet name="header">
            #{cc.headerText}
        </f:facet>
        ....
    </p:dialog>
     ...
</composite:implementation>

我在支持 NamingContainer 类中有一些自定义代码,用于确定打开时的实际标题文本:

@FacesComponent("addEditDialog")
public class AddEditCompositeComponent extends UINamingContainer {

    public String getHeaderText() {
        ....
    }
}
4

1 回答 1

1

我最终用 autoUpdate=true 将标题文本包装在 PF outputPanel 中,它对我有用。

<p:dialog>
    <f:facet name="header">
        <p:outputPanel autoUpdate="true">#{cc.headerText}</p:outputPanel>
    </f:facet>
    ....
</p:dialog>
于 2013-07-22T19:49:08.540 回答