我有一个由jstree组成的树视图,我想禁用拖放节点从一个级别到另一个级别.我们来举个例子:
我希望用户能够移动分公司/重新排序叶子和重新排序的分支,但不提倡leaf作为branch或降级branch的leaf.
我已经开始看一下这个文件jstree.dnd.js来改变这个版本,但不幸的是它已经超出了我的联盟.
我怎样才能做到这一点?
您可以使用jstree types插件.只需将其包含在配置plugins数组中即可.然后相应地配置节点(为节点分配类型,确保它type在JSON中具有属性).
这是一个配置示例:
"types" : {
"#" : { // the root node can have only "branch" children
"valid_children" : ["branch"]
},
"branch" : { // any "branch" can only have "leaf" children
"valid_children" : ["leaf"]
},
"leaf" : { // "leaf" typed nodes can not have any children
"valid_children" : []
}
},
Run Code Online (Sandbox Code Playgroud)
这是一个演示:http:
//jsfiddle.net/DGAF4/560/
您可以在repo和docs页面上阅读有关类型插件的更多信息.
请记住,您可以使用该core.check_callback功能并避免使用类型插件 - 它将为您提供完全手动控制,但使用起来有点复杂.如果上述因某些原因不适合您,我可以详细说明.