优化Ext.tree.TreePanel性能

时间:2010-02-15 15:10:39

标签: javascript performance extjs extjs3

我有一个与AsyncTreeNodes一起使用的Ext.tree.TreePanel。问题是最初的 根节点需要有超过1000个后代。我成功地优化了数据库性能,但JavaScript性能非常糟糕 - 添加和渲染1200个节点需要25秒。我知道操纵页面的DOM操作很慢,但也许有一些方法可以优化初始渲染过程。

2 个答案:

答案 0 :(得分:3)

您可以创建具有较低DOM占用空间的自定义树节点UI。换句话说,将用于创建树的每个节点的HTML更改为一些不那么冗长(可能不太灵活)的HTML。

这里有一些参考资料:

http://github.com/jjulian/ext-extensions/blob/master/IndentedTreeNodeUI.js

http://david-burger.blogspot.com/2008/09/ext-js-custom-treenodeui.html

享受。

答案 1 :(得分:1)

我认为用这么多节点优化树的运气并不好。有什么办法可以使用网格来传递信息吗?你至少可以用它来设置分页,它可能会快得多。您还可以在网格上实现行扩展器UX,对于每一行,其行为类似于树。