From ad2db18b64f57d6502e189ddc7eb68a29aa87f8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=97=E7=86=A0?= Date: Fri, 10 Sep 2021 10:26:49 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=BE=AA=E7=8E=AF?= =?UTF-8?q?=E6=B8=B2=E6=9F=93=E6=97=B6loop:=20[]=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/vision-polyfill/src/props-reducers/index.ts | 1 + .../props-reducers/reset-loop-default-value-reducer.ts | 10 ++++++++++ packages/vision-polyfill/src/reducers.ts | 4 ++++ 3 files changed, 15 insertions(+) create mode 100644 packages/vision-polyfill/src/props-reducers/reset-loop-default-value-reducer.ts diff --git a/packages/vision-polyfill/src/props-reducers/index.ts b/packages/vision-polyfill/src/props-reducers/index.ts index 148d115b7..2684f6b96 100644 --- a/packages/vision-polyfill/src/props-reducers/index.ts +++ b/packages/vision-polyfill/src/props-reducers/index.ts @@ -6,3 +6,4 @@ export * from './remove-empty-prop-reducer'; export * from './style-reducer'; export * from './upgrade-reducer'; export * from './node-top-fixed-reducer'; +export * from './reset-loop-default-value-reducer'; diff --git a/packages/vision-polyfill/src/props-reducers/reset-loop-default-value-reducer.ts b/packages/vision-polyfill/src/props-reducers/reset-loop-default-value-reducer.ts new file mode 100644 index 000000000..fc5036e99 --- /dev/null +++ b/packages/vision-polyfill/src/props-reducers/reset-loop-default-value-reducer.ts @@ -0,0 +1,10 @@ +// 讲loop=[]的情况处理成loop=false +export function resetLoopDefaultValueReducer(props: any) { + if (props.loop && Array.isArray(props.loop) && props.loop.length === 0) { + return { + ...props, + loop: undefined, + }; + } + return props; +} diff --git a/packages/vision-polyfill/src/reducers.ts b/packages/vision-polyfill/src/reducers.ts index 8c5f488b3..5bc04e35d 100644 --- a/packages/vision-polyfill/src/reducers.ts +++ b/packages/vision-polyfill/src/reducers.ts @@ -14,6 +14,7 @@ import { initNodeReducer, liveLifecycleReducer, nodeTopFixedReducer, + resetLoopDefaultValueReducer, } from './props-reducers'; const { LiveEditing, TransformStage } = designerCabin; @@ -57,3 +58,6 @@ designer.addPropsReducer(removeEmptyPropsReducer, TransformStage.Save); designer.addPropsReducer(nodeTopFixedReducer, TransformStage.Render); designer.addPropsReducer(nodeTopFixedReducer, TransformStage.Save); + +// loop的默认值处理 +designer.addPropsReducer(resetLoopDefaultValueReducer, TransformStage.Save);