扩大的keyPath与惰性加载

2019年3月11日 3点热度 0条评论 来源: acrobat

我有一个完整的树多个项目,多层次,树是建立与Ajax调用和使用惰性节点扩大的keyPath与惰性加载

所以现在我想添加的功能,所以我的树可以加载和选择和项目,如果我给完整的路径,但在我可以选择我需要确保项目加载延迟加载的项目之前,我可以访问它。

我发现功能.loadKeypath(),所以用于测试i相

node.getKeyPath(); 

检索到我的节点的完整路径,因此路径是/ 12/16 /18分之17

所以我想通了,我应该把这个代码AJAX数据在

onPostInit: function(isReloading, isError){ 
       $("#tree").dynatree("getTree").loadKeyPath("/12/16/17/18", function(node, status){ 
        if(status == "loaded") { 
         // 'node' is a parent that was just traversed. 
         // If we call expand() here, then all nodes will be expanded 
         // as we go 
         node.expand(); 
        }else if(status == "ok") { 
         // 'node' is the end node of our path. 
         // If we call activate() or makeVisible() here, then the 
         // whole branch will be exoanded now 
         node.activate(); 
        }else if(status == "notfound") { 
         var seg = arguments[2], 
          isEndNode = arguments[3]; 
        } 
       }); 
      } 

加载之后,但现在我在控制台中这样的警告:

Node not found: 12 jquery.dynatree.js:49 

ADN这是一个完整日志

9:12:27.862 - Dynatree._create(): version='$Version: 1.2.0$', debugLevel=2. jquery.dynatree.js:52 
9:12:27.865 - DynaTree.persistence: 
Object 
jquery.dynatree.js:52 
9:12:27.867 - Dynatree._load(): read tree structure... jquery.dynatree.js:52 
9:12:27.868 - Dynatree._init(): send Ajax request... jquery.dynatree.js:52 
9:12:27.869 - Class.create.removeChildren(false) jquery.dynatree.js:52 
9:12:27.876 - Dynatree._load(): render nodes... jquery.dynatree.js:52 
9:12:27.877 - Dynatree._load(): bind events... jquery.dynatree.js:52 
9:12:27.885 - Dynatree._load(): postInit... jquery.dynatree.js:52 
9:12:27.887 - Dynatree._init(): done. jquery.dynatree.js:52 
9:12:27.889 - ui.dynatree._init() was called; no current default functionality. jquery.dynatree.js:52 
9:12:29.483 - Removed leading root key. jquery.dynatree.js:52 
9:12:29.484 - Class.create._loadKeyPath(12/16/17/18) jquery.dynatree.js:52 
9:12:29.484 - Node not found: 12 jquery.dynatree.js:49 
9:12:29.485 - trigger nodeLoaded.dynatree.tree._1 jquery.dynatree.js:52 
9:12:29.485 - dtnode._expand(true) IGNORED - 
Class.create 
jquery.dynatree.js:52 

那么,如何可以加载哪些那朵嵌套在其他节点

解决方案如下:

这是一个节点,以供将来参考

回答一些经过调试和来自dynatree开发者的帮助,我们想出了一个解决方案,如果你想加载一个关键路径,使用一个字符串作为键而不是一个整数。

代替

"icon": false, 
     "checkbox": false, 
     "title": "xxxxxxxx", 
     "key": 23, 
     "type": "child" 

使用

"icon": false, 
     "checkbox": false, 
     "title": "xxxxxxxx", 
     "key": "23", 
     "type": "child" 

这样的loadkeypath功能将皮卡的正确道路!

    原文作者:acrobat
    原文地址: https://stackoverflow.com/q/12490082
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。