gpt4 book ai didi

dynatree - 使用延迟加载扩展 keypath

转载 作者:行者123 更新时间:2023-12-04 18:11:45 28 4
gpt4 key购买 nike

我有一棵包含多个项目和多个级别的完整树,该树是使用 ajax 调用构建的并使用惰性节点

所以现在我想添加这个函数,这样我的树就可以加载和选择项目,如果我给出完整的路径,但在我可以选择项目之前,我需要确保项目是用延迟加载加载的,这样我就可以访问它。

我找到了函数.loadKeypath(),所以为了测试我检索到我的节点的完整路径

node.getKeyPath();

所以路径是/12/16/17/18

所以我想我应该在加载 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

这是完整的日志
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 函数将拾取正确的路径!

关于dynatree - 使用延迟加载扩展 keypath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12490082/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com