我有一個懶惰的加載dijit.tree,我想在其數據加載後在許多地方重用。但是,如果我只是將其他樹中的商店對象替換爲包含大多數數據的商店對象,則節點將全部展開。我想修改商店,以便在將所有商品設置爲新樹中的商店之前將其摺疊。你能告訴我如何做到這一點?dijit.tree如何使用唯一的商店實現摺疊所有功能?
2
A
回答
2
您不能使用此存儲,因爲它不包含有關樹節點狀態的任何信息。這種「魔力」通過TreeNode
執行,看到一些examples here
「完美解決方案」會找出你需要擴大其路徑,然後設置你的樹的遍歷到想要的樹節點的路徑。
但是,由於您的延遲加載,您需要檢查state
- 初始化樹時應該是UNCHECKED
。但是,有這可能是踢在cookie中的功能內置,確保創建新樹與{ persist:false }
您還可以擴展你的樹,所以它將接受collapseChildren(TreeNode)
如下 - 然後調用tree.set("path", [pathsArray]);
collapseChildren : function(top) {
var self = this;
if(!top || !self.model.mayHaveChildren(top.item)) return;
top.getChildren().forEach(function(n) {
if(n.item.children) {
//dojo.style(n.getParent().containerNode, { overflowY: 'hidden', overflowX: 'hidden'});
self._collapseNode(n);
self.collapseChildren(n);
}
});
},
編輯:
如果自動擴展標誌傳遞給構造,樹最初顯示具有擴展的所有節點。
然後,您可以分別調用collapseAll()和expandAll()摺疊並展開樹。 http://livedocs.dojotoolkit.org/dijit/Tree-examples#id3
相關問題
- 1. 如何使用Perl「摺疊所有」摺疊EPIC
- 2. 使用angularJS手風琴展開/摺疊所有功能
- 3. jQuery摺疊功能
- 4. 獲取Laravel的商店功能唯一ID
- 5. 使用摺疊使功能更優雅
- 6. Scala:實現通用摺疊
- 7. 如何實現可摺疊的listview?
- 8. 使用Vim,實現只摺疊功能塊的PHP代碼摺疊的最佳方式是什麼?
- 9. ST2:使用商店和MVC的2個唯一實例
- 10. 使用jquery展開,摺疊功能
- 11. 多次使用展開/摺疊功能
- 12. vim中的摺疊功能
- 13. netbeans中的摺疊功能
- 14. 關於商店消息的限制沒有摺疊GCM
- 15. 如何摺疊每個有角度的UI樹上的所有功能
- 16. 2商店中的功能
- 17. 如何實現單摺疊在Java中
- 18. 摺疊列表並統計所有出現的任意多個唯一實體和未知實體
- 19. 如何使用摺疊工具欄執行此Play商店過渡動畫?
- 20. 如何摺疊CListCtrl的所有組?
- 21. 代碼摺疊vim上的所有功能
- 22. vim不會摺疊第一個摺疊的所有東西
- 23. 在功能語言中實際使用摺疊/縮小
- 24. 帶摺疊功能和附加功能?
- 25. 使用jquery展開所有/摺疊所有使用jquery的
- 26. 需要jQuery的修改現有展開摺疊功能
- 27. 如何讓所有使用Google地方的Android商店出現的百貨商店?
- 28. 如何使用Divi主題實現商店模塊的分頁
- 29. 球拍摺疊功能
- 30. Javascript摺疊延遲功能
看的問題是,當我設置只有老樹的新樹的商店的店,我看到的節點展開,正是因爲他們在前面的樹。所以我認爲它是基於商店的。 – MozenRath
嘗試使用persist:false如上所述?樹上的點擊會生成一個cookie,用於在頁面加載之間存儲樹形路徑,認爲它可能與此處相同?您新創建的樹在'開放'子容器上觸發XHR嗎? – mschr
只有當孩子還沒有填充時,他們纔會觸發xhr – MozenRath