el-tree 拖拽 不嵌套
时间: 2023-07-20 08:28:49 浏览: 94
el-tree创建结构线,并且可拖动
在 El-Tree 中,拖拽节点不嵌套需要设置 `allow-drop-function` 属性和 `draggable` 属性。
首先,设置 `allow-drop-function` 属性为一个函数,函数的参数是两个节点对象,分别表示当前拖拽的节点和目标节点。函数需要返回一个布尔值,表示是否允许将当前节点拖拽到目标节点上。在这个函数中,你可以根据自己的业务逻辑来决定是否允许拖拽。
其次,需要设置每个节点的 `draggable` 属性为 `true`,表示该节点可以被拖拽。
以下是示例代码:
```html
<template>
<el-tree :data="data" :allow-drop="allowDrop" :draggable="true"></el-tree>
</template>
<script>
export default {
data() {
return {
data: [
{
label: '节点1',
children: [
{
label: '节点1-1',
},
{
label: '节点1-2',
},
],
},
{
label: '节点2',
children: [
{
label: '节点2-1',
},
{
label: '节点2-2',
},
],
},
],
};
},
methods: {
allowDrop(draggingNode, dropNode) {
// 不允许拖拽到子节点上
return !dropNode.hasChildNodes();
},
},
};
</script>
```
在上面的代码中,我们设置了 `allow-drop-function` 属性为 `allowDrop` 方法,该方法会判断目标节点是否有子节点,如果有子节点,则不允许拖拽到该节点上。同时,我们还设置了每个节点的 `draggable` 属性为 `true`,表示该节点可以被拖拽。
阅读全文