Jstree 状态插件不保存树状态

在 Jstree 中添加状态插件仍然不会在页面刷新之间或单击链接并返回上一页后保存树的状态

$('#myGrid').jstree({
    "types": {
       "key": {
           "icon": "Content/Images/skey.png"
       },
       "value": {
           "icon": "Content/Images/sValue.png"
       }
    },
    "state": { "key": "myTree" },
    "search": { },
    "core": {
        "check_callback":true,
        "data": [@Html.Raw(Model.JsonData)]
    },
    "plugins": ["state", "types", "search"]

谢谢你,

stack overflow Jstree state plugin not saving tree state
原文答案

答案:

作者头像

使用文档中的 set state property ...

作者头像

这在当前版本 3.08 上对我很有用。虽然我使用 ajax 通过基于 id 的控制器(asp.net mvc 或 web api)获取 json 数据,而不是在加载时获取原始 html。如果可以的话,我会推荐这个,它更干净并且支持延迟加载。在我的设置中,jstree 一个接一个地打开一个节点,直到它到达我打开的最后一个节点。

但是,如果我打开多个节点分支,它就不会那么好。

重要的是您的节点具有唯一的 id 属性。还要检查 localStorage 并查看是否有任何东西存储在那里。