我们有一个用例,我们正在加载超过3000个节点的dynatree。它加载正常,在postinit上触发了ajax,在回调时我们正在更新节点(根据ajax调用后获得的标志更改颜色或图标)。性能相当缓慢,对于3000个节点渲染大约需要。 1分钟或2分钟,浏览器偶尔会挂起。
为了更新每个节点,我们使用 node.render() 我的问题是我应该使用任何其他API来更新节点吗?
谢谢, 查兰
PS:我是新手,所以如果我没有遵守任何规则。请道歉。答案 0 :(得分:0)
在节点上设置额外的类应该更高效(例如通过传递' addClass'使用json)并添加一些额外的CSS来改变外观。 示例:http://wwwendt.de/tech/dynatree/doc/sample-theming.html
<强>更新强>
您是从HTML还是Ajax初始化树?从Ajax初始化将允许直接在JSON响应中添加依赖于状态的类,这将避免第二次Ajax调用和所有额外渲染。
如果你真的想采用posprocess方法,请尝试一个tree.redraw()
而不是单独的node.render()
来电。