0

如何指定父组件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>
4

1 回答 1

0

这是不可能的。这<f:facet>特定于最近父组件的规范。

您可能希望扩展<p:outputPanel>到可以完成这项工作的自定义组件。您可以通过 fromUIComponent继承的getFacets()方法获取、添加和删除构面。在活动期间做以下工作preRenderView

UIComponent headerFacet = getFacets().remove("header");

if (headerFacet != null) {
    UIComponent dialog = getItSomehowPerhapsBasedOnAnAttribute();
    dialog.getFacets().put("header", headerFacet);
}
于 2012-11-14T11:38:38.943 回答