gpt4 book ai didi

javascript - jstree在非根节点使用refresh_node时出现的问题

转载 作者:行者123 更新时间:2023-12-02 23:13:21 35 4
gpt4 key购买 nike

我正在使用 jstree 显示一些节点(包括 DnD、类型和上下文菜单插件)。我毫无问题地获取整棵树,正确显示它,并且我可以选择任何节点,但是,在一个节点上使用更新操作(通过对服务器的 Ajax 调用)后,我想刷新此节点(并且仅刷新此节点)节点。 fresh_node(myNode) 操作是我想要的,并且 Ajax 调用工作正常,并且只提供了我需要的子树部分。

但是,当 jstree 尝试重绘时,我收到有关变量不存在的错误。我调试了它,发现一些节点的parents数组消失了。

我使用备用 JSON 格式来加载我的树,并使用以下配置:

core{
multiple: false,
data {
url: "my_url_string_to_server",
data: function(node) { return { id: nodeId, /*other params*/ } }
}
}
/*other plugins config*/

以及我对refresh_node的调用:

//nodeId is a string with the name of the node I want to refresh.
var node = $.jstree.reference('.tree-data').get_node(nodeId);
$.jstree.reference('.tree-data').refresh_node(node);
//I tried refresh_node(nodeId) too, with the same error result.

我的所有树节点是: { “id”,“唯一ID”, “ parent ”:“ parent ”}, “文本”,“名称”}, “状态”: { }, “类型”:“类型” “li_attr”:{ {“标题”,“标题”}, {“类”,“类”} } “a_attr”:{ {“类”,“类”} }, “数据”: { {“dbid”,“Id”}, {“dbparent”,“ParentId”}, {“状态”,“状态ID”} } }

如 jstree 文档 (see 'alternative JSON format') 中所述

作为 ajax 调用的结果返回它们的列表(必需节点和所有子节点)(不关心是对根节点还是另一个非根节点的调用)

请你告诉我我做错了什么?

提前非常感谢。

最佳答案

我发现了这个问题:当您使用 root id(“#”)以外的 id 进行调用时,刷新处理节点 id 的子节点。我的方法是返回根节点和子节点,这是错误的。没有直接从数据库更新单个节点的功能,但是this问题展示了如何从 js 更新它们,因此,我将尝试通过 ajax 调用获取新状态来更新它们,并使用该响应来更新所有数据并手动重绘。

希望这对其他人有用。

谢谢大家!

关于javascript - jstree在非根节点使用refresh_node时出现的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57251385/

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