Primefaces p:poll 破坏了 'rendered' 功能
Primefaces p:poll breaks 'rendered' functionality
我有一个带有 ajax 事件的下拉列表到 hide/show 另一个基于 'rendered' 属性的组件。
它工作正常,直到从另一个组件调用 p:poll - ajax 事件不会切换 'airportPickupWrapper'(尽管我可以在中看到 ajax 请求网络)
组件 1:
<h:outputLink id="unresolvedOrdersCount" value="#{navigationMenuBean.setPage('management/orderManagement')}" style="color : red">
New orders : #{headerController.getUnresolvedOrdersCount()}
</h:outputLink>
<p:poll interval="10" update="unresolvedOrdersCount"/>
组件 2:
<h:selectOneMenu id="orderTypeDropdown" value="#{orderController.order.orderType}">
<f:selectItems value="#{orderController.orderTypes}"
var="orderType"
itemLabel="#{orderType.displayName}">
</f:selectItems>
<p:ajax event="change" update="airportPickupWrapper"/>
</h:selectOneMenu>
<p:panel id="airportPickupWrapper" >
<h:panelGrid columns="1" rendered="#{orderController.order.orderType.name() == 'AIRPORT_PICKUP'}">
<p:outputLabel for="flightNumber" value="Flight number: " />
<p:inputText id="flightNumber" value="#{orderController.order.flightNumber}">
</p:inputText>
</h:panelGrid>
</p:panel>
谢谢你的建议
编辑:如果我更改组件 1 使其不调用辅助 bean,一切正常
<h:outputLink id="unresolvedOrdersCount"></h:outputLink>
已解决。
问题是我使用了 h:outputLink,其中 xmlns:h="http://xmlns.jcp.org/jsf/html"。
我将其切换为 p:link (xmlns:p="http://primefaces.org/ui") 并且一切正常。
有人会认为它是兼容的。
谢谢。
我有一个带有 ajax 事件的下拉列表到 hide/show 另一个基于 'rendered' 属性的组件。
它工作正常,直到从另一个组件调用 p:poll - ajax 事件不会切换 'airportPickupWrapper'(尽管我可以在中看到 ajax 请求网络)
组件 1:
<h:outputLink id="unresolvedOrdersCount" value="#{navigationMenuBean.setPage('management/orderManagement')}" style="color : red">
New orders : #{headerController.getUnresolvedOrdersCount()}
</h:outputLink>
<p:poll interval="10" update="unresolvedOrdersCount"/>
组件 2:
<h:selectOneMenu id="orderTypeDropdown" value="#{orderController.order.orderType}">
<f:selectItems value="#{orderController.orderTypes}"
var="orderType"
itemLabel="#{orderType.displayName}">
</f:selectItems>
<p:ajax event="change" update="airportPickupWrapper"/>
</h:selectOneMenu>
<p:panel id="airportPickupWrapper" >
<h:panelGrid columns="1" rendered="#{orderController.order.orderType.name() == 'AIRPORT_PICKUP'}">
<p:outputLabel for="flightNumber" value="Flight number: " />
<p:inputText id="flightNumber" value="#{orderController.order.flightNumber}">
</p:inputText>
</h:panelGrid>
</p:panel>
谢谢你的建议
编辑:如果我更改组件 1 使其不调用辅助 bean,一切正常
<h:outputLink id="unresolvedOrdersCount"></h:outputLink>
已解决。
问题是我使用了 h:outputLink,其中 xmlns:h="http://xmlns.jcp.org/jsf/html"。 我将其切换为 p:link (xmlns:p="http://primefaces.org/ui") 并且一切正常。
有人会认为它是兼容的。
谢谢。