我有一个树面板,远程服务提供的数据,我按节点更新我的树数据。在第一个节点数据加载所有渲染相对较快,但如果我重新加载节点数据子节点渲染太慢。这对于大量的子元素(1000 +)变得至关重要。
我使用ExtJS 4.2.0.663。
据我所知,它是ExtJS中的一个错误 - related sencha forum thread。
来自链接论坛帖子的Simple fiddle来说明问题。
我正在尝试为我的ExtJS版本找到修复程序,但无济于事(目前我无法升级ExtJS)。
任何想法如何解决这个问题?
我想我可以尝试比较不同版本中相关组件的代码并对我的ExtJS文件进行更改,但这是一项艰巨的任务,也许你们中的一些人已经知道了这个问题的解决方案。
答案 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/
希望它有所帮助。