最近在把旧版本的ztree部门排序完成后,详情见 zTree通用拖拽排序
寻思着把新版本的el-tree也给加入排序功能,毕竟一碗水要端平(功能都是自己写的。。。),由于二者表结构也类似,核心也还是那几个字段 id、pid、order,就看了下ElementUI官网的文档,便有了这么一篇,原则上还是以尽可能的少改动数据为优先,在你拖拽结束后 ,不会全拿整棵树的数据排序然后再去修改,只会有当前受影响的最小粒度的数据变更范围,效果图
注:如果需要其他tree排序,请前往 tree拖拽排序通用合集(z-Tree、El-tree、a-tree)
首先我们的Vue文件声明如下(由于文件内容多,只贴关键代码),主要加入了draggable
属性和node-drop
事件,支持拖拽
<el-tree
:data="deptTree"
:props="defaultProps"
:expand-on-click-node="false"
:filter-node-method="filterNode"
highlight-current
node-key="id"
ref="tree"
default-expand-all
@node-click