0
我有一個primefaces菜單,其中的項目在來自backing bean的條件中被禁用。 問題是,更新後處理條件。顯示之前的處理primefaces菜單
如果我選擇了一個節點,每個節點都啓用並切換到禁用所有節點的節點, 菜單將被重新加載,但在禁用項目之前顯示所有啓用了一秒的所有內容。
有沒有辦法在顯示菜單之前處理禁用條件?
<h:form id="form">
<p:tree id="tree" ...>
<p:ajax event="select" update=":form:tree:menu" listener...>
<p:treeNode id="treenode">
<p:commandButton id="btn" type="button" />
<p:overlayPanel for="btn">
<p:menu id=menu">
<p:menuitem .... disabled="#{bean.condition1}" />
<p:menuitem .... disabled="#{bean.condition2}" />
...
</p:menu>
</p:overlayPanel>
</p:treenode>
</p:tree>
的'類型=「按鈕」'使得它死客戶端的按鈕,而不是提交按鈕,這與AJAX魔術和所有服務器進行交互。也許你沒有意識到這一點? – BalusC
@BalusC你是對的,我從按鈕中刪除了ajax的東西。在Primefaces Showcase之後,type =按鈕對於overlayPanel魔術來說是必需的。據我所知,更新是由select事件觸發的,而不是按鈕。順便說一句:使用類型=提交按鈕沒有解決問題。 – sinclair