Javascript 试图让jsTree插件在关闭状态下初始化时发现困难
大家下午好 我们正在为用户配置文件设置权限树。Javascript 试图让jsTree插件在关闭状态下初始化时发现困难,javascript,jquery,jstree,Javascript,Jquery,Jstree,大家下午好 我们正在为用户配置文件设置权限树。我们使用以下jsTree插件: 过度版本为:3.1.0当前版本为:3.1.0 下面是我们的用法: /* Initialize any jsTress passed in. */ $( "." + section + "-panel-" + panel ).find( "div[class*='jstree']" ).each(function(){ $(this).jstree( { "core" : { "data" : $.
我们使用以下jsTree插件: 过度版本为:3.1.0
当前版本为:3.1.0 下面是我们的用法:
/* Initialize any jsTress passed in. */
$( "." + section + "-panel-" + panel ).find( "div[class*='jstree']" ).each(function(){
$(this).jstree( { "core" : { "data" : $.parseJSON( $(this).prev().html() ) },
"plugins" : [ "checkbox","wholerow" ]
} );
/* Try to force close-all tree nodes. */
$(this).jstree( "close_all",-1 );
})
我们在这里手动尝试强制关闭所有节点,尽管它不起作用。
传递到初始化方法的JSON数据包括节点状态属性
见实际数据样本:
[
{
"id":"ADMIN",
"text":"ADMIN",
"state":
{
"selected":false
},
"children":
[
{
"id":"ADMIN_ADD_STAFF",
"text":"ADMIN_ADD_STAFF",
"state":
{
"opened":false,
"disabled":false,
"selected":true
}
},
{
"id":"ADMIN_NEW_MSG",
"text":"ADMIN_NEW_MSG",
"state":
{
"opened":false,
"disabled":false,
"selected":true
}
}
/* Truncated here for brevity of question. */
/* See link below for complete data object. */
]
}
]
有关完整数据对象的副本,请参见
正如您所看到的,opened
attrib总是false,但是我们发现节点总是在opened状态下初始化
如果手动关闭节点,则节点将关闭。
注意:我们没有使用在浏览器中启用节点状态持久性的插件
只是看不出为什么节点不会初始化为关闭。。。
提前谢谢 确保在
ready.jstree
事件触发后调用close\u all
:
$(this),jstree(...).on('ready.jstree', function (e, data) {
data.instance.close_all();
});
您还可以简单地配置jsTree,使其不在加载时展开选定的节点:
$.jstree.defaults.core.expand\u selected\u onload
$(this).jstree({
core : {
expand_selected_onload : false,
...
致以最良好的祝愿,
伊万谢谢@vakata。我们昨晚发现。。。多简单啊。我们看得太过火了,真令人沮丧。现在正在按预期工作。干得好!