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);