當裏面的p:tabView
作爲第二個標籤時,我有一個p:treeTable
,我無法展開/摺疊節點。但是,這在這個非常特殊的情況下,我已經提煉成最少的代碼纔會發生:無法展開嵌套標籤中的treetable節點
<h:form id="mainForm">
<p:tabView id="outer" dynamic="false">
<p:tab id="outer1">
</p:tab>
<p:tab id="outer2">
<p:tabView id="inner" dynamic="false">
<p:tab id="inner1">
<p:treeTable value="#{someBB.root}" var="wrapper">
<p:column>
#{wrapper}
</p:column>
</p:treeTable>
</p:tab>
<p:tab>
<p:tab id="inner2">
<p:treeTable value="#{someBB.root}" var="wrapper">
<p:column>
#{wrapper}
</p:column>
</p:treeTable>
</p:tab>
</p:tab>
</p:tabView>
</p:tab>
</p:tabView>
</h:form>
模型也微乎其微:
private TreeNode root;
{
root = new DefaultTreeNode("root", null);
TreeNode documents = new DefaultTreeNode("root", root);
new DefaultTreeNode("node1", documents);
new DefaultTreeNode("node2", documents);
}
public TreeNode getRoot(){
return root;
}
所以,當我打開網頁,進入outer2標籤,我無法展開inner1的treeTable中的節點。但是當我切換到inner2時,我可以展開該樹表中的節點。更奇怪的是,當我切換回inner1時,我現在可以擴展節點。如果沒有嵌套的標籤瀏覽也是正確的。
此外,當我刪除outer1選項卡時,行爲是正確的。
也分享模型不會影響這(我試過每個treeTable有不同的模型,但行爲是相同的)。
這是否有一些原因,或者它是PrimeFaces中的錯誤?
我用Primefaces 4.0
嗨。感謝您的回覆,但它並沒有真正的幫助。我99%相信這是一個在primefaces中的錯誤。試試我的帖子中的示例表單並親自查看。實際上,我沒有兩個模型,也沒有爲每個請求生成根,這只是爲了保持示例儘可能短(它不會以任何方式影響行爲)。它在不同的標籤排序中起作用。如果我先切換到另一個選項卡,那麼這兩棵樹完美無缺地工作。我的解決方法是將第二個選項卡設置爲默認值,並在頁面加載時切換到第一個選項卡。不好,但它的工作原理。 – NeplatnyUdaj