fix: 修复循环渲染时loop: []的bug

This commit is contained in:
林熠 2021-09-10 10:26:49 +08:00 committed by lihao.ylh
parent fc7c78387f
commit e3874bbbac
3 changed files with 15 additions and 0 deletions

View File

@ -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';

View File

@ -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;
}

View File

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