<el-tree
ref="tree"
:data="data"
:props="props"
node-key="id"
:allow-drop="collapse"
@check-change="onTreeChang"
show-checkbox
draggable
default-expand-all
:indent="30"
>
</el-tree>
method事件
// 权限拖拽控制
collapse(moveNode, inNode, type) {
// return type == 'next';
// 一级拖动到一级
if (moveNode.level == 1 && inNode.level == 1) {
// 四种情况
if (moveNode.nextSibling == undefined) {
return type == 'prev';
} else if (inNode.nextSibling == undefined) {
return type == 'next';
} else if (moveNode.nextSibling.id !== inNode.id) {
return type == 'prev';
} else {
return type == 'next';
}
}
//是否为同级下的子节点
// 二级拖动到二级
if (
moveNode.level == 2 &&
inNode.level == 2 &&
moveNode.parent.id == inNode.parent.id
) {
// 四种情况
if (moveNode.nextSibling == undefined) {
return type == 'prev';
} else if (inNode.nextSibling == undefined) {
return type == 'next';
} else if (moveNode.nextSibling.id !== inNode.id) {
return type == 'prev';
} else {
return type == 'next';
}
}
// 二级拖动到一级 或者一级拖住啊到二级
if (
(moveNode.level == 2 && inNode.level == 1) ||
(moveNode.level == 1 && inNode.level == 2)
) {
// 四种情况
if (moveNode.nextSibling == undefined) {
return type == 'prev';
} else if (inNode.nextSibling == undefined) {
return type == 'next';
} else if (moveNode.nextSibling.id !== inNode.id) {
return type == 'prev';
} else {
return type == 'next';
}
}
}
element树形控件拖拽allow-drop控制
最新推荐文章于 2022-10-31 15:12:43 发布