Extjs提高treenode.appendchild()的性能

Extjs提高treenode.appendchild()的性能,extjs,Extjs,我正在使用ExtJS4.2.1。我有一个bufferedrenderer树网格,其中要求将许多子节点附加到特定节点 这是我的代码 Ext.suspendLayouts(); Ext.getCmp('bufferedTree').getStore().suspendEvents(); for(var i=0;i<node.length;i++){ node1.appendChild(node[i]); nodesArray.push(node[i]); } node1.app

我正在使用ExtJS4.2.1。我有一个bufferedrenderer树网格,其中要求将许多子节点附加到特定节点

这是我的代码

Ext.suspendLayouts();
Ext.getCmp('bufferedTree').getStore().suspendEvents();
for(var i=0;i<node.length;i++){
    node1.appendChild(node[i]);
    nodesArray.push(node[i]);
}
node1.appendChild(nodesArray);
Ext.resumeLayouts(true);
Ext.getCmp('bufferedTree').getStore().resumeEvents();
Ext.suspendLayouts();
Ext.getCmp('bufferedTree').getStore().suspendEvents();

对于(var i=0;i每个节点的添加都将触发布局更新,这将对性能产生影响。因此,添加越多,成本越高


如果您查看文档中的,您会注意到您可以附加单个节点或节点数组。我将创建一个包含所有要附加的节点的数组,然后将它们作为一个调用附加。这样,布局更新只会发生一次,而不是每个节点添加一次。这几乎肯定会提高性能。

您好,我尝试过创建一个节点数组,然后只调用一次appendchild方法,但仍然需要40秒才能附加200个子节点。您能提供一个复制案例吗?