在目前接触到的树插件中,我觉得最好比较简单,也容易上手。有一次业务需求是将某对象分组树上的对象可以随意拖拽,相当于改变了对象的分组,因此我用到了最好,对其进行了一些列学习。
,首先下载最好所需的相关包,附上官方下载连接:最好下载,引入相关文件后就可以进行最好的构建了。首先在页面上加ul标签,然后为树加上id属性为最好,前端页面就完成了。
注意:下面所有的代码是根据我自己的需求写的,且不完整,主要参考配置流程和回调函数的使用即可。
前端页面:
& lt; ul类id=癿odelTree”=白詈谩弊4? lt;/ul>>之前然后写JavaScript,写之前一定要多多阅读最好的官方API,上面已经解释的很详细了,只需要照着一步一步做即可。首先就是配置设置,这个是整个最好的核心配置,我这里除了基本配置外,因为需要拖拽功能,因此配置了编辑,其中启用一定要设为真,其他参数看需求配置.callback中也配置相关的回调函数。
,设置配置:
={var设置 数据:{ 关键:{ 名称:节点名的 }, simpleData: { 启用:没错, idKey:“nodeId”, pIdKey:“parentNodeId” }, 保持:{ 叶:没错, 父:没错, } }, 编辑:{ 阻力:{ isCopy:假的, isMove:没错, 上一页:没错, 接下来:真实, 内部:没错, autoOpenTime: 0, minMoveSize: 10 }, 启用:没错, editNameSelectAll:没错, removeTitle:“删除节点”, renameTitle:“编辑节点名称”, showRemoveBtn:假的, showRenameBtn:假的, }, 回调:{ beforeClick: beforeClick, beforeDrag: beforeDrag, beforeDragOpen: beforeDragOpen, beforeDrop: beforeDrop,>//拖拽之前调用的函数 函数beforeDrag (treeId treeNode) { 如果(treeNode [0]。nodeType==凹拧?{ 返回错误; } 如果(treeNode。parentId==零,,treeNode。modelType !=null) { 返回true; } var节点=treeNode [0] .getParentNode (); var modelType=treeNode [0] .getParentNode () .modelType; 如果(modelType==敖涌凇?{ 返回错误; 其他}{ 返回true; } }//预留被拖拽的回调函数 功能>//初始化对象分组树 var treeObj=$ (" # modelTree "); .fn.zTree美元。init (treeObj、设置、数据); zTree_Menu=$ .fn.zTree.getZTreeObj (“modelTree”); >之前最后形成的树(可以拖拽的):