element-ui文档
大家可以先去看看文档中简单用法
<el-tree
:data="treeData"
node-key="id"
@node-drag-start="handleDragStart"
@node-drag-leave="handleDragLeave"
@node-drag-over="handleDragOver"
@node-drag-end="handleDragEnd"
@node-drop="handleDrop"
@node-click="handleClick"
@node-contextmenu="rightClick"
@node-expand="handleExpand"
@node-collapse="handleCollapse"
:default-expanded-keys="expandedKeys"
draggable
:allow-drop="allowDrop"
:allow-drag="allowDrag"
>
data 代表的是里面的数据
//节点开始拖拽时触发的事件
handleDragStart(node, ev) {
this.menuVisible = false;
console.log("drag start", node);
document.ondrop = ()=>{console.log('drop on document')}
},
//拖拽离开某个节点时触发的事件
handleDragLeave(draggingNode, dropNode, ev) {
console.log("tree drag leave: ", dropNode.label);
},
//在拖拽节点时触发的事件(类似浏览器的 mouseover 事件)
handleDragOver(draggingNode, dropNode, ev) {
console.log("tree drag over: ", dropNode.label);
},
//拖拽结束时(可能未成功)触发的事件
handleDragEnd(draggingNode, dropNode, dropType, ev) {
console.log(
"tree drag end: ",
dropNode && dropNode.label,
dropType
);
},
//拖拽成功完成时触发的事件,,在这里可以将节点拖拽后的顺序返给后端
handleDrop(draggingNode, dropNode, dropType, event) {
console.log("tree drop: ", dropType);
console.log("draggingNode: ", draggingNode);
console.log("dropNode: ", dropNode);
},
//拖拽时判定目标节点能否被放置。type 参数有三种情况:'prev'、'inner' 和 'next',分别表示放置在目标节点前、插入至目标节点和放置在目标节点后
allowDrop(draggingNode, dropNode, type) {
return true;
},
//判断节点能否被拖拽
allowDrag(draggingNode) {
return true
}
这就是以上参数的定义 最常见的就是在拖拽成功的时候调取数据的接口 然后保存拖拽之后的数据返回给后端!!
这个参数代表的是否可以拖拽
以上就是树形控件拖拽的基本用法,还有什么遗漏的也可以一起交流哦