diff --git a/packages/designer/src/document/node/node-children.ts b/packages/designer/src/document/node/node-children.ts index 68026e831..1553a54f3 100644 --- a/packages/designer/src/document/node/node-children.ts +++ b/packages/designer/src/document/node/node-children.ts @@ -285,4 +285,9 @@ export class NodeChildren { this.purged = true; this.children.forEach(child => child.purge()); } + + get [Symbol.toStringTag]() { + // 保证向前兼容性 + return "Array"; + } } diff --git a/packages/designer/src/document/node/transform-stage.ts b/packages/designer/src/document/node/transform-stage.ts index e415d44ae..5dc3269e2 100644 --- a/packages/designer/src/document/node/transform-stage.ts +++ b/packages/designer/src/document/node/transform-stage.ts @@ -1,7 +1 @@ -export enum TransformStage { - Render = 1, - Serilize = 2, - Save = 3, - Clone = 4, - Init = 5, -} +export { TransformStage } from '@ali/lowcode-types'; diff --git a/packages/react-renderer/src/engine/index.jsx b/packages/react-renderer/src/engine/index.jsx index b8ea83ce2..244430e1a 100644 --- a/packages/react-renderer/src/engine/index.jsx +++ b/packages/react-renderer/src/engine/index.jsx @@ -23,7 +23,7 @@ const ENGINE_COMPS = { BlockEngine, AddonEngine, TempEngine, - // DivEngine: BlockEngine, + DivEngine: BlockEngine, }; class FaultComponent extends PureComponent { @@ -157,7 +157,8 @@ export default class Engine extends PureComponent { if (isEmpty(schema)) { return null; } - if (!isFileSchema(schema)) { + // 兼容乐高区块模板 + if (schema.componentName !== 'Div' && !isFileSchema(schema)) { return '模型结构异常'; } debug('entry.render'); diff --git a/packages/react-simulator-renderer/src/renderer.ts b/packages/react-simulator-renderer/src/renderer.ts index 45a2a6af2..dd578ce4b 100644 --- a/packages/react-simulator-renderer/src/renderer.ts +++ b/packages/react-simulator-renderer/src/renderer.ts @@ -8,7 +8,7 @@ import { getClientRects } from './utils/get-client-rects'; import loader from './utils/loader'; import { reactFindDOMNodes, FIBER_KEY } from './utils/react-find-dom-nodes'; import { isESModule, isElement, cursor, setNativeSelection } from '@ali/lowcode-utils'; -import { RootSchema, NpmInfo, ComponentSchema } from '@ali/lowcode-types'; +import { RootSchema, NpmInfo, ComponentSchema, TransformStage } from '@ali/lowcode-types'; // just use types import { BuiltinSimulatorRenderer, NodeInstance, Component } from '@ali/lowcode-designer'; import Slot from './builtin-components/slot'; @@ -246,8 +246,10 @@ export class SimulatorRenderer implements BuiltinSimulatorRenderer { children = schema.children.map((item: any) => getElement(componentsMap, item, propsMap)); } const _leaf = host.document.designer.currentDocument?.createNode(schema); + const node = host.document.createNode(schema); let props = processPropsSchema(schema.props, propsMap); - props = host.document.designer.transformProps(props, host.document.createNode(schema), 1 /*TransformStage.Render*/); + props = host.document.designer.transformProps(props, node, TransformStage.Init); + props = host.document.designer.transformProps(props, node, TransformStage.Render); return createElement(Com, {...props, _leaf}, children); } diff --git a/packages/types/src/index.ts b/packages/types/src/index.ts index 4129097f2..d8f66a46c 100644 --- a/packages/types/src/index.ts +++ b/packages/types/src/index.ts @@ -14,3 +14,4 @@ export * from './value-type'; export * from './setter-config'; export * from './setting-target'; export * from './node'; +export * from './transform-stage'; diff --git a/packages/types/src/transform-stage.ts b/packages/types/src/transform-stage.ts new file mode 100644 index 000000000..e415d44ae --- /dev/null +++ b/packages/types/src/transform-stage.ts @@ -0,0 +1,7 @@ +export enum TransformStage { + Render = 1, + Serilize = 2, + Save = 3, + Clone = 4, + Init = 5, +}