Skip to content

Commit a3e6f7d

Browse files
authored
refactor(behavior): destroyed element wont dispatch event (#5934)
1 parent 0248c9c commit a3e6f7d

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

packages/g6/src/runtime/behavior.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { CommonEvent, ContainerEvent } from '../constants';
44
import { ExtensionController } from '../registry/extension';
55
import type { BehaviorOptions, CustomBehaviorOption } from '../spec/behavior';
66
import type { Target } from '../types';
7+
import { isToBeDestroyed } from '../utils/element';
78
import { eventTargetOf } from '../utils/event';
89
import type { RuntimeContext } from './types';
910

@@ -70,6 +71,10 @@ export class BehaviorController extends ExtensionController<BaseBehavior<CustomB
7071
if (!target) return;
7172
const { graph, canvas } = this.context;
7273
const { type: targetType, element: targetElement } = target;
74+
// 即将销毁或已销毁的元素不再触发事件
75+
// Elements that are about to be destroyed or have been destroyed no longer trigger events
76+
if ('destroyed' in targetElement && (isToBeDestroyed(targetElement) || targetElement.destroyed)) return;
77+
7378
const { type, detail, button } = event;
7479
const stdEvent = { ...event, target: targetElement, targetType, originalTarget };
7580

0 commit comments

Comments
 (0)