如何在primefaces中使用选择器刷新时知道正在更新哪个组件

时间:2014-08-12 00:34:33

标签: jquery jsf primefaces jquery-selectors

当我们使用主要面部选择器时,有没有办法知道正在刷新哪个组件 使用p:ajax

例如在摘录中:

<p:tree id="tree" value="#{treeViewBackingBean.root}" var="item" >
    <p:treeNode type="Type One"  >
        <h:panelGrid columns="4">
            <h:panelGrid columns="1">
                <p:outputLabel />
            </h:panelGrid>
            <h:panelGrid>
                <p:selectOneMenu >
                    <p:ajax 
                        update="@this:@parent:@parent:@parent:@parent"  
                        listener="#{treeViewBackingBean.onChange}" />
                </p:selectOneMenu>
            </h:panelGrid>
        </h:panelGrid>
    </p:treeNode>
</p:tree>

更新是指p:tree还是p:treeNode

有没有办法只刷新p:treeNode

1 个答案:

答案 0 :(得分:1)

要仅刷新treeNode标记,您需要执行此操作。

<p:tree id="tree" value="#{treeViewBackingBean.root}" var="item" >
    <p:treeNode type="Type One" id="treeNodeId">
        <h:panelGrid columns="4">
            <h:panelGrid columns="1">
                <p:outputLabel />
            </h:panelGrid>
            <h:panelGrid>
                <p:selectOneMenu >
                    <p:ajax 
                        update="@this,treeNodeId" 
                        listener="#{treeViewBackingBean.onChange}" />
                </p:selectOneMenu>
            </h:panelGrid>
        </h:panelGrid>
    </p:treeNode>
</p:tree>

这将更新treeNode代码。