有没有办法在打开对话框时更新对话框标题文本?我曾经使用该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() {
....
}
}