如何指定f:facet
的父组件将其指定为p:dialog
组件的子组件?我一直在尝试这个,但没有渲染标题。
<p:dialog id="pageDialog">
<p:outputPanel>
<p:outputPanel>
<f:facet name="header" parent="pageDialog" >
Followed Topics
</f:facet>
</p:outputPanel>
</p:outputPanel>
</p:dialog>
答案 0 :(得分:0)
这是不可能的。 <f:facet>
是by specification特定于最近的父组件。
您可能希望将<p:outputPanel>
扩展到可以执行此任务的自定义组件。您可以通过UIComponent
继承的getFacets()
方法获取,添加和删除构面。在preRenderView
活动期间执行以下工作:
UIComponent headerFacet = getFacets().remove("header");
if (headerFacet != null) {
UIComponent dialog = getItSomehowPerhapsBasedOnAnAttribute();
dialog.getFacets().put("header", headerFacet);
}