fix: save 的时候删除空的 props

This commit is contained in:
wanying.jwy 2020-09-22 12:40:13 +08:00
parent 8ba26ee880
commit 69cda3e076

View File

@ -138,7 +138,7 @@ designer.addPropsReducer((props, node) => {
}); });
} }
return newProps; return newProps;
}, TransformStage.Init); }, TransformStage.Render);
designer.addPropsReducer((props: any, node: Node) => { designer.addPropsReducer((props: any, node: Node) => {
// live 模式下解析 lifeCycles // live 模式下解析 lifeCycles
@ -311,26 +311,29 @@ designer.addPropsReducer(stylePropsReducer, TransformStage.Render);
// 国际化 & Expression 渲染时处理 // 国际化 & Expression 渲染时处理
designer.addPropsReducer(deepValueParser, TransformStage.Render); designer.addPropsReducer(deepValueParser, TransformStage.Render);
designer.addPropsReducer((props: any, node: Node) => { // 清除空的 props value
if (node.isRoot()) { function removeEmptyProps(props: any, node: Node) {
if (props.dataSource) { if (props.dataSource) {
const online = cloneDeep(props.dataSource.online); const online = cloneDeep(props.dataSource.online);
online.forEach((item: any) => { online.forEach((item: any) => {
const newParam: any = {}; const newParam: any = {};
if (item.options && item.options.params && item.options.params.length) { if (item.options && item.options.params && item.options.params.length) {
item.options.params.map((element: any) => { item.options.params.map((element: any) => {
if (element.name && element.value) { if (element.name) {
newParam[element.name] = element.value; newParam[element.name] = element.value;
} }
}); });
item.options.params = newParam; item.options.params = newParam;
} }
}); });
props.dataSource.list = online; props.dataSource.list = online;
}
} }
return props; return props;
}, TransformStage.Render); }
// Init 的时候没有拿到 dataSource, 只能在 Render 和 Save 的时候都调用一次,理论上执行时机在 Init
designer.addPropsReducer(removeEmptyProps, TransformStage.Render);
designer.addPropsReducer(removeEmptyProps, TransformStage.Save);
skeleton.add({ skeleton.add({
area: 'mainArea', area: 'mainArea',