jstree官网:https://www.jstree.com/
——————-
实例化tree .jstree()
默认样式:
var container = $('#xxx'); //container:treeの目标容器(jqery对象)
container.jstree({
'plugins': ["state"],
'state': { //一些初始化状态
"opened":true,
},
'core' : {
'data' :_treeData, //treeの数据
}
});
多选框样式:
container.jstree({
core: {
animation: false,
'data':_data
},
// 这两个必须要
checkbox: {
tie_selection: false,
whole_node: false
},
plugins: ["checkbox", "wholerow"]
});
多选框初始化时默认选中:
_data.state = {"checked":true};
//选中根节点,如需选中其他节点需遍历_dataの所有节点并给他们加上此属性信息
右键菜单:
'plugins': ['contextmenu'], //有这个就行
'core' : {
'data' :_treeData,
"check_callback" : true
},
//···
"contextmenu":{
select_node:false,
show_at_node:true,
items:{
"修改名称":{
"separator_before" : false,
"separator_after" : false,
"_disabled" : false, //(this.check("rename_node", data.reference, this.get_parent(data.reference), "")),
"label" : "修改名称",
"shortcut_label" : 'F2',
"icon" : "glyphicon glyphicon-leaf",
"action" : function (data) {
var inst = $.jstree.reference(data.reference),
obj = inst.get_node(data.reference);
inst.edit(obj);
}
},
"删除XX":{
"separator_before" : false,
"icon" : false,
"separator_after" : false,
"_disabled" : false, //(this.check("delete_node", data.reference, this.get_parent(data.reference), "")),
"label" : "删除XX",
"icon" :"glyphicon glyphicon-remove",
"action" : function (data) {
var inst = $.jstree.reference(data.reference),
obj = inst.get_node(data.reference);
if(inst.is_selected(obj)) {
inst.delete_node(inst.get_selected());
}
else {
inst.delete_node(obj);
}
}
},
//其他菜单···
}
}
//参考:https://blog.csdn.net/m0_37355951/article/details/77943933
//...
载入后,全部展开:
container.bind("loaded.jstree", function (e, data) {
_treeContainer.jstree('open_all');
});
查看当前实例の数据:
$(“xxx”).jstree()._model.data;
———————
额,好像这不是文档,全是案例了。。。 话说,这样好懂点|||