From a96d547c20b1c808d5399dcb0435b56513b759ac Mon Sep 17 00:00:00 2001 From: i33 <78162524@qq.com> Date: Wed, 21 Sep 2022 15:39:29 +0800 Subject: [PATCH] =?UTF-8?q?fix(core):=20=E4=BF=AE=E5=A4=8D=E5=A4=9A?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E5=90=8C=E4=B8=80=E4=BA=8B=E4=BB=B6=E7=9B=91?= =?UTF-8?q?=E5=90=AC=E9=97=AE=E9=A2=98=E4=BF=AE=E6=94=B9=E5=90=8E=E5=AF=BC?= =?UTF-8?q?=E8=87=B4=E7=9A=84=E5=85=B1=E9=80=9A=E7=82=B9=E5=87=BB=E5=A4=B1?= =?UTF-8?q?=E6=95=88=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 统一自定义事件和共通事件行为。 --- packages/core/src/App.ts | 17 +++-------------- packages/core/src/events.ts | 12 ++++-------- 2 files changed, 7 insertions(+), 22 deletions(-) diff --git a/packages/core/src/App.ts b/packages/core/src/App.ts index 661a79a7..559b4224 100644 --- a/packages/core/src/App.ts +++ b/packages/core/src/App.ts @@ -21,13 +21,7 @@ import { EventEmitter } from 'events'; import type { EventItemConfig, Id, MApp } from '@tmagic/schema'; import Env from './Env'; -import { - bindCommonEventListener, - DEFAULT_EVENTS, - getCommonEventName, - isCommonMethod, - triggerCommonMethod, -} from './events'; +import { bindCommonEventListener, isCommonMethod, triggerCommonMethod } from './events'; import type Node from './Node'; import Page from './Page'; import { fillBackgroundImage, isNumber, style2Obj } from './utils'; @@ -202,13 +196,8 @@ class App extends EventEmitter { } public bindEvent(event: EventItemConfig, id: string) { - let { name: eventName } = event; - if (DEFAULT_EVENTS.findIndex((defaultEvent) => defaultEvent.value === eventName) > -1) { - // common 事件名通过 node id 避免重复触发 - eventName = getCommonEventName(eventName, id); - } - - this.on(`${eventName}_${id}`, (fromCpt: Node, ...args) => { + const { name } = event; + this.on(`${name}_${id}`, (fromCpt: Node, ...args) => { this.eventHandler(event, fromCpt, args); }); } diff --git a/packages/core/src/events.ts b/packages/core/src/events.ts index 2a077acd..def7695f 100644 --- a/packages/core/src/events.ts +++ b/packages/core/src/events.ts @@ -41,12 +41,9 @@ export const DEFAULT_EVENTS: EventOption[] = [{ label: '点击', value: `${COMMO export const DEFAULT_METHODS: EventOption[] = []; -export const getCommonEventName = (commonEventName: string, nodeId: string | number) => { - const returnName = `${commonEventName}:${nodeId}`; - - if (commonEventName.startsWith(COMMON_EVENT_PREFIX)) return returnName; - - return `${COMMON_EVENT_PREFIX}${returnName}`; +export const getCommonEventName = (commonEventName: string) => { + if (commonEventName.startsWith(COMMON_EVENT_PREFIX)) return commonEventName; + return `${COMMON_EVENT_PREFIX}${commonEventName}`; }; export const isCommonMethod = (methodName: string) => methodName.startsWith(COMMON_METHOD_PREFIX); @@ -73,8 +70,7 @@ const commonClickEventHandler = (app: App, eventName: string, e: any) => { const node = getDirectComponent(e.target, app); if (node) { - const { instance, data } = node as Node; - app.emit(getCommonEventName(eventName, data.id), instance); + app.emit(getCommonEventName(eventName), node); } };