From 26f4fb132ed889095c2e9d28690624111622b90b Mon Sep 17 00:00:00 2001 From: "wanying.jwy" Date: Wed, 19 Aug 2020 16:24:02 +0800 Subject: [PATCH] feat: JSexpression props --- packages/editor-preset-vision/src/deep-value-parser.ts | 5 +++++ packages/editor-preset-vision/src/editor.ts | 1 + packages/editor-preset-vision/src/pages.ts | 1 - packages/rax-render/src/engine/base.jsx | 1 - packages/rax-render/src/engine/pageEngine.jsx | 1 + packages/rax-simulator-renderer/src/renderer-view.tsx | 2 +- packages/rax-simulator-renderer/src/renderer.ts | 4 ++-- 7 files changed, 10 insertions(+), 5 deletions(-) diff --git a/packages/editor-preset-vision/src/deep-value-parser.ts b/packages/editor-preset-vision/src/deep-value-parser.ts index e5270264a..dcadba4df 100644 --- a/packages/editor-preset-vision/src/deep-value-parser.ts +++ b/packages/editor-preset-vision/src/deep-value-parser.ts @@ -2,6 +2,7 @@ import Env from './env'; import { isJSSlot, isI18nData, isJSExpression } from '@ali/lowcode-types'; import { isPlainObject } from '@ali/lowcode-utils'; import i18nUtil from './i18n-util'; +import { editor } from './editor'; function isVariable(obj: any) { return obj && obj.type === 'variable'; @@ -9,6 +10,10 @@ function isVariable(obj: any) { // FIXME: 表达式使用 mock 值,未来live 模式直接使用原始值 export function deepValueParser(obj?: any): any { + // live + if (editor.get('designMode') === 'live') { + return obj; + } if (isJSExpression(obj)) { obj = obj.mock; } diff --git a/packages/editor-preset-vision/src/editor.ts b/packages/editor-preset-vision/src/editor.ts index 23d798d8e..a5802d698 100644 --- a/packages/editor-preset-vision/src/editor.ts +++ b/packages/editor-preset-vision/src/editor.ts @@ -87,6 +87,7 @@ designer.addPropsReducer(upgradePropsReducer, TransformStage.Upgrade); // 节点 props 初始化 designer.addPropsReducer((props, node) => { + // debugger; // run initials const newProps: any = { ...props, diff --git a/packages/editor-preset-vision/src/pages.ts b/packages/editor-preset-vision/src/pages.ts index 33c8751bd..b09dcf13f 100644 --- a/packages/editor-preset-vision/src/pages.ts +++ b/packages/editor-preset-vision/src/pages.ts @@ -47,7 +47,6 @@ const pages = Object.assign(project, { } } } - debugger; project.load({ version: '1.0.0', componentsMap: [], diff --git a/packages/rax-render/src/engine/base.jsx b/packages/rax-render/src/engine/base.jsx index 850804129..d23ebe209 100644 --- a/packages/rax-render/src/engine/base.jsx +++ b/packages/rax-render/src/engine/base.jsx @@ -205,7 +205,6 @@ export default class BaseEngine extends Component { // parentInfo 父组件的信息,包含schema和Comp // idx 若为循环渲染的循环Index __createVirtualDom = (schema, self, parentInfo, idx) => { - if (!schema) return null; // rax text prop 兼容处理 if (schema.componentName === 'Text') { diff --git a/packages/rax-render/src/engine/pageEngine.jsx b/packages/rax-render/src/engine/pageEngine.jsx index 464abf649..8f833d814 100644 --- a/packages/rax-render/src/engine/pageEngine.jsx +++ b/packages/rax-render/src/engine/pageEngine.jsx @@ -22,6 +22,7 @@ export default class PageEngine extends BaseEngine { static contextType = AppContext; static getDerivedStateFromProps(props, state) { + debugger; debug('page.getDerivedStateFromProps'); const func = props.__schema.lifeCycles && props.__schema.lifeCycles.getDerivedStateFromProps; if (func) { diff --git a/packages/rax-simulator-renderer/src/renderer-view.tsx b/packages/rax-simulator-renderer/src/renderer-view.tsx index 6bdcd01ee..1cc2fac5a 100644 --- a/packages/rax-simulator-renderer/src/renderer-view.tsx +++ b/packages/rax-simulator-renderer/src/renderer-view.tsx @@ -165,7 +165,7 @@ class Renderer extends Component<{