From 0196eb343ac782ca2ab7a9a69f09ab273a38fa8e Mon Sep 17 00:00:00 2001 From: roymondchen Date: Wed, 28 May 2025 17:47:12 +0800 Subject: [PATCH] =?UTF-8?q?feat(editor):=20=E8=8E=B7=E5=8F=96=E8=81=94?= =?UTF-8?q?=E5=8A=A8=E7=BB=84=E4=BB=B6=E7=9A=84=E6=96=B9=E6=B3=95=E5=87=BD?= =?UTF-8?q?=E6=95=B0=E4=B8=AD=E6=B7=BB=E5=8A=A0=E7=BB=84=E4=BB=B6id?= =?UTF-8?q?=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/editor/src/fields/EventSelect.vue | 6 +++--- packages/editor/src/services/events.ts | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/editor/src/fields/EventSelect.vue b/packages/editor/src/fields/EventSelect.vue index 984bbc9d..228d9042 100644 --- a/packages/editor/src/fields/EventSelect.vue +++ b/packages/editor/src/fields/EventSelect.vue @@ -232,7 +232,7 @@ const compActionConfig = computed(() => { let methods: EventOption[] | CascaderOption[] = []; - methods = eventsService.getMethod(node.type); + methods = eventsService.getMethod(node.type, model.to); if (node.type === 'page-fragment-container' && node.pageFragmentId) { const pageFragment = editorService.get('root')?.items?.find((page) => page.id === node.pageFragmentId); @@ -240,7 +240,7 @@ const compActionConfig = computed(() => { methods = []; pageFragment.items.forEach((node: MComponent | MContainer) => { traverseNode(node, (node) => { - const nodeMethods = (node.type && eventsService.getMethod(node.type)) || []; + const nodeMethods = (node.type && eventsService.getMethod(node.type, node.id)) || []; if (nodeMethods.length) { methods.push({ @@ -317,7 +317,7 @@ const tableConfig = computed(() => ({ const node = editorService.getNodeById(model.to); if (!node?.type) return []; - return eventsService.getMethod(node.type).map((option: any) => ({ + return eventsService.getMethod(node.type, model.to).map((option: any) => ({ text: option.label, value: option.value, })); diff --git a/packages/editor/src/services/events.ts b/packages/editor/src/services/events.ts index d178c80a..4f3da6d0 100644 --- a/packages/editor/src/services/events.ts +++ b/packages/editor/src/services/events.ts @@ -20,7 +20,7 @@ import { reactive } from 'vue'; import { cloneDeep } from 'lodash-es'; import type { Writable } from 'type-fest'; -import { type EventOption } from '@tmagic/core'; +import { type EventOption, type Id } from '@tmagic/core'; import { toLine } from '@tmagic/utils'; import type { AsyncHookPlugin, SyncHookPlugin } from '@editor/type'; @@ -70,7 +70,7 @@ class Events extends BaseService { methodMap[toLine(type)] = [...method]; } - public getMethod(type: string) { + public getMethod(type: string, _targetId: Id) { return cloneDeep(methodMap[toLine(type)]) || []; }