mirror of https://github.com/ElemeFE/element
Tree: fix allowDrop's type behavior (#10821)
parent
5c0c5b8eae
commit
1d33bae558
|
@ -354,7 +354,6 @@
|
||||||
const draggingNode = dragState.draggingNode;
|
const draggingNode = dragState.draggingNode;
|
||||||
if (!draggingNode || !dropNode) return;
|
if (!draggingNode || !dropNode) return;
|
||||||
|
|
||||||
let allowDrop = true;
|
|
||||||
let dropPrev = true;
|
let dropPrev = true;
|
||||||
let dropInner = true;
|
let dropInner = true;
|
||||||
let dropNext = true;
|
let dropNext = true;
|
||||||
|
@ -362,18 +361,17 @@
|
||||||
dropPrev = this.allowDrop(draggingNode.node, dropNode.node, 'prev');
|
dropPrev = this.allowDrop(draggingNode.node, dropNode.node, 'prev');
|
||||||
dropInner = this.allowDrop(draggingNode.node, dropNode.node, 'inner');
|
dropInner = this.allowDrop(draggingNode.node, dropNode.node, 'inner');
|
||||||
dropNext = this.allowDrop(draggingNode.node, dropNode.node, 'next');
|
dropNext = this.allowDrop(draggingNode.node, dropNode.node, 'next');
|
||||||
allowDrop = dropInner;
|
|
||||||
}
|
}
|
||||||
dragState.allowDrop = allowDrop;
|
dragState.allowDrop = dropInner;
|
||||||
event.dataTransfer.dropEffect = allowDrop ? 'move' : 'none';
|
event.dataTransfer.dropEffect = dropInner ? 'move' : 'none';
|
||||||
if (allowDrop && oldDropNode !== dropNode) {
|
if ((dropPrev || dropInner || dropNext) && oldDropNode !== dropNode) {
|
||||||
if (oldDropNode) {
|
if (oldDropNode) {
|
||||||
this.$emit('node-drag-leave', draggingNode.node, oldDropNode.node, event);
|
this.$emit('node-drag-leave', draggingNode.node, oldDropNode.node, event);
|
||||||
}
|
}
|
||||||
this.$emit('node-drag-enter', draggingNode.node, dropNode.node, event);
|
this.$emit('node-drag-enter', draggingNode.node, dropNode.node, event);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (allowDrop) {
|
if (dropPrev || dropInner || dropNext) {
|
||||||
dragState.dropNode = dropNode;
|
dragState.dropNode = dropNode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue