<el-tree
:data="treeList"
node-key="id"
default-expand-all
show-checkbox
draggable
:allow-drop="allowDrop"
:allow-drag="allowDrag"
></el-tree>
data() {
return {
treeList: []
}
},
mounted() {
let list = {
obj: [
{
"children": [{
"children": null,
"createTime": null,
"createUser": "",
"fraction": null,
"houseId": "",
"id": 99,
"level": null,
"name": "玫瑰花",
"orgCode": "",
"pid": 30,
"selected": null,
"sign": 0,
"sort": null,
"tempId": ""
}, {
"children": null,
"createTime": null,
"createUser": "",
"fraction": null,
"houseId": "",
"id": 100,
"level": null,
"name": "菊花",
"orgCode": "",
"pid": 30,
"selected": null,
"sign": 0,
"sort": null,
"tempId": ""
}, {
"children": null,
"createTime": null,
"createUser": "",
"fraction": null,
"houseId": "",
"id": 101,
"level": null,
"name": "茉莉花",
"orgCode": "",
"pid": 30,
"selected": null,
"sign": 0,
"sort": null,
"tempId": ""
}],
"createTime": null,
"createUser": "",
"fraction": null,
"houseId": "",
"id": 30,
"level": null,
"name": "鲜花",
"orgCode": "",
"pid": 0,
"selected": null,
"sign": 0,
"sort": 2,
"tempId": ""
},
],
res: 1,
resMsg: "",
};
this.treeList=list.obj
let data = list.obj
data = JSON.stringify(data).replace(/name/g, 'label')
data = JSON.parse(data)
this.treeList = data;
},
methods: {
//控制那个可拖拽节点
allowDrag(draggingNode, dropNode, type){
if (draggingNode.data.sign == 0) {
return false;
} else {
return true;
}
},
//同级节点才可以拖拽
allowDrop(draggingNode, dropNode, type) {
if (draggingNode.level === dropNode.level) {
if (draggingNode.parent.id === dropNode.parent.id) {
// 向上拖拽 || 向下拖拽
return type === "prev" || type === "next";
}
} else {
// 不同级进行处理
return false;
}
},
}