【发布时间】:2012-07-27 23:55:58
【问题描述】:
ExtJS4
我创建了一个 TreePanel 作为
var tree = Ext.create('Ext.tree.TreePanel', <some config>);
tree.store.setRootNode(treeJSON);
现在我想创建另一个具有相同商店数据但不同商店对象的树。如果我这样做:
var tree1 = tree.cloneConfig(<separate listeners>);
然后,它会创建一棵不同的树。但两者仍然是联系在一起的。当我折叠或展开一个树节点时,另一棵树中的相应节点也表现类似。
store 也没有 cloneConfig 属性,所以我可以复制它。我尝试从 JSON 为这棵树重新创建存储。
var store2 = Ext.create('Ext.data.TreeStore', {store: treeJSON});
var tree1 = tree.cloneConfig({store: store2});
我认为store2 与trees 商店不同。但是问题就在那里,因为我使用的是相同的 treeJSON。
我可以做的一件事是将 JSON 转换为字符串,对其进行解码以创建另一个 JSON 对象并将其分配给新存储。那将与以前的商店不同。但必须有一种快速的方法。
如何创建具有不同存储对象的重复树,以便当我展开/折叠树中的一个节点时,它不会以相同的方式在另一个节点中展开/折叠?
【问题讨论】:
标签: extjs4 clone store treepanel