Tree:Add throttle function when dragover

pull/22579/head
liting 2023-06-27 19:42:17 +08:00
parent f14b5ba540
commit d7d04f388b
1 changed files with 13 additions and 2 deletions

View File

@ -316,6 +316,17 @@
ev.preventDefault();
hasInput.click();
}
},
throttle(fn, time) {
let canUse = true ;
return function() {
if (!canUse) { return false; }
canUse = false;
setTimeout(() => {
fn.apply(this, arguments);
canUse = true;
}, time);
};
}
},
@ -358,7 +369,7 @@
this.$emit('node-drag-start', treeNode.node, event);
});
this.$on('tree-node-drag-over', (event, treeNode) => {
this.$on('tree-node-drag-over', this.throttle((event, treeNode) => {
const dropNode = findNearestComponent(event.target, 'ElTreeNode');
const oldDropNode = dragState.dropNode;
if (oldDropNode && oldDropNode !== dropNode) {
@ -442,7 +453,7 @@
dragState.allowDrop = dragState.showDropIndicator || userAllowDropInner;
dragState.dropType = dropType;
this.$emit('node-drag-over', draggingNode.node, dropNode.node, event);
});
}, 100));
this.$on('tree-node-drag-end', (event) => {
const { draggingNode, dropType, dropNode } = dragState;