// 节点是否能够被拖动
allowDrop(draggingNode, dropNode, type) {
console.log(
"draggingNode: ",
draggingNode,
"dropNode: ",
dropNode,
"type: ",
type
);
this.countChildNodeLevel(draggingNode);
var deep = Math.abs(this.maxLevel - draggingNode.level) + 1;
console.log("maxLevel: ", this.maxLevel, 'deep: ', deep);
if(type == 'inner'){
console.log('inner', deep + this.dropNode.level)
return deep + this.dropNode.level <= 3;
} else {
console.log('next', deep + this.dropNode.parent.level)
return deep + this.dropNode.parent.level <= 3;
}
},
// 找到子节点中的最大层数
countChildNodeLevel(draggingNode) {
if (
draggingNode.childNodes != null &&
draggingNode.childNodes.length > 0
) {
for (let i = 0; i < draggingNode.childNodes.length; i++) {
if (draggingNode.childNodes[i].level > this.maxLevel) {
this.maxLevel = draggingNode.childNodes[i].level;
}
this.countChildNodeLevel(draggingNode.childNodes[i]);
}
}
},
Element-UI 规定最大层数为三层,超过层数不允许拖拽
最新推荐文章于 2023-03-23 22:36:22 发布