【问题标题】:JSTree lazy load not fetching childrenJSTree延迟加载不获取孩子
【发布时间】:2015-10-30 17:04:25
【问题描述】:

使用最新的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":[{ "state":{"opened":false,"disabled":false,"selected":false},"id":"0","text":"Node2 Text","children":[true]}] }]

当我单击节点 2 时,没有任何反应。我在看提琴手,没有打电话。我使用开发工具网络对其进行了验证。出现一个没有数据的文件夹

【问题讨论】:

    标签: javascript jstree


    【解决方案1】:

    我尝试序列化具有对象列表的“节点”对象。

    children = new List<object>();
    

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

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

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

    【讨论】:

      猜你喜欢
      • 2022-01-20
      • 2021-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多