ExtJS Ext.tree.Panel缓慢渲染重复存储加载

时间:2016-03-02 13:00:21

标签: extjs extjs4

我有一个树面板,远程服务提供的数据,我按节点更新我的树数据。在第一个节点数据加载所有渲染相对较快,但如果我重新加载节点数据子节点渲染太慢。这对于大量的子元素(1000 +)变得至关重要。

我使用ExtJS 4.2.0.663。

据我所知,它是ExtJS中的一个错误 - related sencha forum thread

来自链接论坛帖子的

Simple fiddle来说明问题。

我正在尝试为我的ExtJS版本找到修复程序,但无济于事(目前我无法升级ExtJS)。

任何想法如何解决这个问题?

我想我可以尝试比较不同版本中相关组件的代码并对我的ExtJS文件进行更改,但这是一项艰巨的任务,也许你们中的一些人已经知道了这个问题的解决方案。

2 个答案:

答案 0 :(得分:0)

我很确定这是布局的问题。因为我得到这个解决方案必须帮助你。

请尝试在beforexpand活动上致电treeComponent.resumeLayouts(true),在afterexpand活动中致电Ext.suspendLayouts(); ... Ext.resumeLayouts(true);

如果没有帮助尝试全局暂停机制:

var update = {};
update[req.query.eventtype] = { "name": req.query.eventname };

// or with ES6
let update = {
    [req.query.eventtype]: { "name": req.query.eventname }
}

答案 1 :(得分:0)

这是Ext4中treepanel的基本问题。我们在公司产品和树形图上使用ExtJS存在极大问题,大数据作为子节点出现。

您可以使用treepanel上的bufferedRenderer插件来加速生成:

plugins: {
    ptype: 'bufferedrenderer'
}

您的更新小提琴:http://jsfiddle.net/qczvjrko/5/

希望它有所帮助。