gpt4 book ai didi

javascript - 如何使用新的 JSON 数据刷新 jsTree?

转载 作者:行者123 更新时间:2023-11-28 00:35:42 24 4
gpt4 key购买 nike

我有一个文件上传元素,它会在更改时扫描文件名,并执行某些操作来获取有效的 treeJSON 变量。当函数第二次检测到更改时,treeJSON 变量将更新,我需要更新树。

我尝试了各种方法,例如refresh()destroy()等,但我无法在同一棵树上构造一个新树页面而无需重新加载页面。这是一个片段,我已经包含了所有功能并且它可以工作。重要的部分是使用 treeJSON

input.onchange = function (e) {
// do something
};
var treeJSON = someVar;

$("#tree").jstree({
core: {
check_callback: true,
data: treeJSON,
},
});

最佳答案

您只需告诉 jstree 一次在哪里加载根 (core.data) 。刷新时,树将根据此内容重新填充。

我会这样做:

var treeJSON = 'originaltree';

input.onchange = function (e) {
// something
treeJSON = $.parseJSON(newtree); // if newtree is json
var tree = $('#tree').jstree(true);
tree.refresh();
}

$('#tree').jstree({
'core': {
'check_callback': true,
'data': treeJSON
}
});

或者,如果您想根据哪个节点更具体:

$('#tree').jstree({
'core': {
'check_callback': true,
'data': function (node, cb) {
if (node.id === '#') { //Load root, will fire on first load as well as on refresh
cb.call(this, treeJSON);
}
}

}
});

关于javascript - 如何使用新的 JSON 数据刷新 jsTree?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28530623/

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