首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dynatree +延迟加载=慢

Dynatree +延迟加载=慢
EN

Stack Overflow用户
提问于 2012-10-02 19:11:38
回答 2查看 528关注 0票数 0

我开始在我的项目中使用Dynatree,我有一个问题-当我尝试懒惰阅读时,它的运行速度非常慢。我发现当我每次调用addChild时,我的整个树都会被重新渲染,我认为它的效率很低。

有人知道我能用它做什么吗?

两年前,mar10写道:"enableUpdate(true)调用tree.redraw(),因此整个树都会更新。这一点将在1.0版中改变,但即便如此,组合addChild调用也会更快。“(http://stackoverflow.com/questions/3097791/dynatree-addchild-question-for-the-components-author)

我现在使用1.0版本,但我找不到任何更改。

EN

回答 2

Stack Overflow用户

发布于 2012-10-08 16:37:11

也许你可以尝试1.2.2版本的,最新的版本,带有最新的jquery和UI包?

https://code.google.com/p/dynatree/

票数 0
EN

Stack Overflow用户

发布于 2018-04-04 19:52:28

您可以使用ajax调用来初始化和更新Dynatree,而不是addChild。使用dynatree的initAjax和node的appendAjax方法。

作为data参数的实参,我传递父节点的id (如果是根节点,则为0)。

代码语言:javascript
复制
initAjax: {
      type: 'POST',
      url: 'inc/treeNodes.php',
      dataType: 'json',
      data: {key: 0}
    }

代码语言:javascript
复制
 onLazyRead: function (node) {
      node.appendAjax({
      type: 'POST',
      url: "inc/treeNodes.php",
      dataType: 'json',
      data: {key: node.data.key}
      })
  }

使用这种方法,速度不再是问题,因为在执行Ajax调用以加载子节点时,不会重新加载整个树。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12689205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档