From 45574db76cb177d1075a9a784d642bc41bcdeeb4 Mon Sep 17 00:00:00 2001 From: kangwei Date: Tue, 16 Jun 2020 22:54:40 +0800 Subject: [PATCH] fix: compatiable bug --- .../src/bundle/upgrade-metadata.ts | 2 +- packages/editor-preset-vision/src/editor.ts | 26 +++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/packages/editor-preset-vision/src/bundle/upgrade-metadata.ts b/packages/editor-preset-vision/src/bundle/upgrade-metadata.ts index 075a3356d..d6ebc41a1 100644 --- a/packages/editor-preset-vision/src/bundle/upgrade-metadata.ts +++ b/packages/editor-preset-vision/src/bundle/upgrade-metadata.ts @@ -399,7 +399,7 @@ export function upgradePropConfig(config: OldPropConfig, collector: ConfigCollec }, }, ]; - if (allowTextInput !== false) { + if (allowTextInput) { setters.unshift('I18nSetter'); } if (supportVariable) { diff --git a/packages/editor-preset-vision/src/editor.ts b/packages/editor-preset-vision/src/editor.ts index fa475d292..2e75c0366 100644 --- a/packages/editor-preset-vision/src/editor.ts +++ b/packages/editor-preset-vision/src/editor.ts @@ -102,6 +102,32 @@ function upgradePropsReducer(props: any) { // 升级 Props designer.addPropsReducer(upgradePropsReducer, TransformStage.Init); +function compatiableReducer(props: any) { + if (!isPlainObject(props)) { + return props; + } + const newProps: any = {}; + Object.entries(props).forEach(([key, val]) => { + if (isJSSlot(val)) { + val.value + val = { + type: 'JSBlock', + value: { + componentName: 'Slot', + children: val.value, + props: { + slotTitle: val.title, + }, + }, + } + } + newProps[key] = val; + }); + return newProps; +} +// Dirty fix: will remove this reducer +designer.addPropsReducer(compatiableReducer, TransformStage.Save); + // 设计器组件样式处理 function stylePropsReducer(props: any, node: any) { if (props && typeof props === 'object' && props.__style__) {