From 69cda3e076d2d73d3a5335d15b7b28c73294bdea Mon Sep 17 00:00:00 2001 From: "wanying.jwy" Date: Tue, 22 Sep 2020 12:40:13 +0800 Subject: [PATCH 1/3] =?UTF-8?q?fix:=20save=20=E7=9A=84=E6=97=B6=E5=80=99?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E7=A9=BA=E7=9A=84=20props?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/editor-preset-vision/src/editor.ts | 41 +++++++++++---------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/packages/editor-preset-vision/src/editor.ts b/packages/editor-preset-vision/src/editor.ts index 1ed7b3757..a7d9c247a 100644 --- a/packages/editor-preset-vision/src/editor.ts +++ b/packages/editor-preset-vision/src/editor.ts @@ -138,7 +138,7 @@ designer.addPropsReducer((props, node) => { }); } return newProps; -}, TransformStage.Init); +}, TransformStage.Render); designer.addPropsReducer((props: any, node: Node) => { // live 模式下解析 lifeCycles @@ -311,26 +311,29 @@ designer.addPropsReducer(stylePropsReducer, TransformStage.Render); // 国际化 & Expression 渲染时处理 designer.addPropsReducer(deepValueParser, TransformStage.Render); -designer.addPropsReducer((props: any, node: Node) => { - if (node.isRoot()) { - if (props.dataSource) { - const online = cloneDeep(props.dataSource.online); - online.forEach((item: any) => { - const newParam: any = {}; - if (item.options && item.options.params && item.options.params.length) { - item.options.params.map((element: any) => { - if (element.name && element.value) { - newParam[element.name] = element.value; - } - }); - item.options.params = newParam; - } - }); - props.dataSource.list = online; - } +// 清除空的 props value +function removeEmptyProps(props: any, node: Node) { + if (props.dataSource) { + const online = cloneDeep(props.dataSource.online); + online.forEach((item: any) => { + const newParam: any = {}; + if (item.options && item.options.params && item.options.params.length) { + item.options.params.map((element: any) => { + if (element.name) { + newParam[element.name] = element.value; + } + }); + item.options.params = newParam; + } + }); + props.dataSource.list = online; } return props; -}, TransformStage.Render); +} + +// Init 的时候没有拿到 dataSource, 只能在 Render 和 Save 的时候都调用一次,理论上执行时机在 Init +designer.addPropsReducer(removeEmptyProps, TransformStage.Render); +designer.addPropsReducer(removeEmptyProps, TransformStage.Save); skeleton.add({ area: 'mainArea', From 614dbf20a435bd6d704cf0a47d9919e4196275d3 Mon Sep 17 00:00:00 2001 From: "wanying.jwy" Date: Tue, 22 Sep 2020 14:41:55 +0800 Subject: [PATCH 2/3] =?UTF-8?q?fix:=20revert=20=E4=B8=80=E6=AE=B5=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E4=BF=AE=E6=94=B9=E7=9A=84=E4=BB=A3=E7=A0=81=20&=20?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/editor-preset-vision/src/editor.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/editor-preset-vision/src/editor.ts b/packages/editor-preset-vision/src/editor.ts index a7d9c247a..aeb65899c 100644 --- a/packages/editor-preset-vision/src/editor.ts +++ b/packages/editor-preset-vision/src/editor.ts @@ -138,7 +138,7 @@ designer.addPropsReducer((props, node) => { }); } return newProps; -}, TransformStage.Render); +}, TransformStage.Init); designer.addPropsReducer((props: any, node: Node) => { // live 模式下解析 lifeCycles @@ -313,12 +313,12 @@ designer.addPropsReducer(deepValueParser, TransformStage.Render); // 清除空的 props value function removeEmptyProps(props: any, node: Node) { - if (props.dataSource) { + if (node.isRoot() && props.dataSource) { const online = cloneDeep(props.dataSource.online); online.forEach((item: any) => { const newParam: any = {}; - if (item.options && item.options.params && item.options.params.length) { - item.options.params.map((element: any) => { + if (Array.isArray(item?.options?.params)) { + item.options.params.forEach((element: any) => { if (element.name) { newParam[element.name] = element.value; } @@ -332,6 +332,7 @@ function removeEmptyProps(props: any, node: Node) { } // Init 的时候没有拿到 dataSource, 只能在 Render 和 Save 的时候都调用一次,理论上执行时机在 Init +// Render 和 Save 都要各调用一次,感觉也是有问题的,是不是应该在 Render 执行一次就行了?见上 filterReducer 也是一样的处理方式。 designer.addPropsReducer(removeEmptyProps, TransformStage.Render); designer.addPropsReducer(removeEmptyProps, TransformStage.Save); From 79b70420fbea9ce26df12c1c7dd0881810962b08 Mon Sep 17 00:00:00 2001 From: "wanying.jwy" Date: Tue, 22 Sep 2020 14:51:27 +0800 Subject: [PATCH 3/3] =?UTF-8?q?fix:=20=E5=88=A0=E9=99=A4=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=20console=20log?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/rax-render/src/utils/index.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/rax-render/src/utils/index.ts b/packages/rax-render/src/utils/index.ts index 91676ba49..1cbd6df47 100644 --- a/packages/rax-render/src/utils/index.ts +++ b/packages/rax-render/src/utils/index.ts @@ -700,7 +700,6 @@ export function parseExpression(str, self) { if (inSameDomain() && window.parent.__newFunc) { return window.parent.__newFunc(tarStr)(self); } - console.log('aaaaaaaa') return new Function(tarStr)(self); } catch (err) { debug('parseExpression.error', err, str, self);