小编典典

如何在父组件的ajax更新中排除子组件?

ajax

我在<p:ajax>代码中使用了PrimeFaces 标记。我们如何在更新父组件的ajax调用中排除子组件的更新?


阅读 242

收藏
2020-07-26

共1个答案

小编典典

如果您至少使用PrimeFaces
3.3,则可以为此使用PrimeFaces选择器。这允许您在PrimeFaces
ajax组件中使用jQuery
CSS选择器语法
processupdate属性。

例如:

<h:form>
    <h:inputText ... />
    <h:inputText ... />
    <h:inputText ... styleClass="noupdate" />
    <h:inputText ... />
    <h:inputText ... />
    <p:commandButton ... update="@(form :not(.noupdate))"/>
</h:form>

此示例将更新整个表单,除了class="noupdate"客户端具有的输入。

如果要更新某个组件的所有子组件(除了一个),请用周围组件的ID(或类或…)替换“ form”。

<h:form id="form">
    <h:panel id="myPanel">
        <h:inputText ... />
        <h:inputText ... />
        <h:inputText ... styleClass="noupdate" />
    </h:panel>
    <h:inputText ... />
    <h:inputText ... />
    <p:commandButton ... update="@(form :not(.noupdate))"/>
</h:form>

<p:commandButton ... update="@(#form\:myPanel :not(.noupdate))"/>

只要确保您使用完整的客户端ID。

2020-07-26