diff --git a/packages/designer/src/builtin-simulator/live-editing/live-editing.ts b/packages/designer/src/builtin-simulator/live-editing/live-editing.ts index 5cf78090d..58cc17739 100644 --- a/packages/designer/src/builtin-simulator/live-editing/live-editing.ts +++ b/packages/designer/src/builtin-simulator/live-editing/live-editing.ts @@ -22,20 +22,28 @@ export interface EditingTarget { event: MouseEvent; } -const saveHandlers: SaveHandler[] = []; +let saveHandlers: SaveHandler[] = []; function addLiveEditingSaveHandler(handler: SaveHandler) { saveHandlers.push(handler); } +function clearLiveEditingSaveHandler() { + saveHandlers = []; +} -const specificRules: SpecificRule[] = []; +let specificRules: SpecificRule[] = []; function addLiveEditingSpecificRule(rule: SpecificRule) { specificRules.push(rule); } +function clearLiveEditingSpecificRule() { + specificRules = []; +} export class LiveEditing { static addLiveEditingSpecificRule = addLiveEditingSpecificRule; + static clearLiveEditingSpecificRule = clearLiveEditingSpecificRule; static addLiveEditingSaveHandler = addLiveEditingSaveHandler; + static clearLiveEditingSaveHandler = clearLiveEditingSaveHandler; @obx.ref private _editing: Prop | null = null; diff --git a/packages/vision-polyfill/src/reducers.ts b/packages/vision-polyfill/src/reducers.ts index 4c3c5c12a..8c5f488b3 100644 --- a/packages/vision-polyfill/src/reducers.ts +++ b/packages/vision-polyfill/src/reducers.ts @@ -1,5 +1,3 @@ -import { isJSBlock, isJSExpression, isJSSlot } from '@ali/lowcode-types'; -import { isPlainObject, hasOwnProperty, cloneDeep, isI18NObject, isUseI18NSetter, convertToI18NObject, isString } from '@ali/lowcode-utils'; import { editor, designer, designerCabin } from '@ali/lowcode-engine'; import bus from './bus'; import { VE_EVENTS } from './base/const'; @@ -20,6 +18,9 @@ import { const { LiveEditing, TransformStage } = designerCabin; +// 清理引擎自带的规则和保存函数,会影响 vc i18n 的保存 +LiveEditing.clearLiveEditingSpecificRule(); +LiveEditing.clearLiveEditingSaveHandler(); LiveEditing.addLiveEditingSpecificRule(liveEditingRule); LiveEditing.addLiveEditingSaveHandler(liveEditingSaveHander);