JSTree惰性加载未获取子级

JSTree lazy load not fetching children

本文关键字:获取 加载 JSTree      更新时间:2023-09-26

使用最新的jstree。我可以加载所有节点,但现在我正在尝试延迟加载节点。当我展开最后一个可见节点时,不会生成GET。

.js

$('#nodes').jstree({
    'core' : {
        'data' : {
            'url': function(node) {
                return node.id === '#' ? 'api/mycontroller' : 'api/mycontroller/' + node.id;
            },
            "data" : function (node) {
                return { "id": node.id};
            }
        }
    }
});

从初始调用返回的JSON数据为[{"state":{"opened":true,"disabled":false,"selected":false},"id":"-100","text":"Node1 text","children":[{

当我单击节点2时,不会发生任何事情。我在看小提琴,没有人叫我。我使用开发工具网络验证了它。一个没有数据的文件夹出现

我试图序列化一个具有对象列表的"node"对象。

children = new List<object>();

将此集合与节点对象一起使用时,一切都很好。但是,如果您查看我列出的布尔true的序列化,这是不正确的。所以我不能把一个布尔值推到集合中。

我探索了一些选择。。。。1.编写自定义json转换器2.派生2个对象。一个具有子节点列表。第二个带有布尔

这解决了问题。我用了2,因为它更快,我只是在做一些东西的原型。1可能是一个更优雅的解决方案。