Merge branch 'fix/rax-miniapp-0922' into 'release/0.9.22'

fix: save 的时候删除空的 props



See merge request !989562
This commit is contained in:
力皓 2020-09-22 14:59:01 +08:00
commit b4a5f7c35c
2 changed files with 22 additions and 19 deletions

View File

@ -311,15 +311,15 @@ 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 (node.isRoot() && 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 (Array.isArray(item?.options?.params)) {
item.options.params.map((element: any) => { item.options.params.forEach((element: any) => {
if (element.name && element.value) { if (element.name) {
newParam[element.name] = element.value; newParam[element.name] = element.value;
} }
}); });
@ -328,9 +328,13 @@ designer.addPropsReducer((props: any, node: Node) => {
}); });
props.dataSource.list = online; props.dataSource.list = online;
} }
}
return props; return props;
}, TransformStage.Render); }
// Init 的时候没有拿到 dataSource, 只能在 Render 和 Save 的时候都调用一次,理论上执行时机在 Init
// Render 和 Save 都要各调用一次,感觉也是有问题的,是不是应该在 Render 执行一次就行了?见上 filterReducer 也是一样的处理方式。
designer.addPropsReducer(removeEmptyProps, TransformStage.Render);
designer.addPropsReducer(removeEmptyProps, TransformStage.Save);
skeleton.add({ skeleton.add({
area: 'mainArea', area: 'mainArea',

View File

@ -700,7 +700,6 @@ export function parseExpression(str, self) {
if (inSameDomain() && window.parent.__newFunc) { if (inSameDomain() && window.parent.__newFunc) {
return window.parent.__newFunc(tarStr)(self); return window.parent.__newFunc(tarStr)(self);
} }
console.log('aaaaaaaa')
return new Function(tarStr)(self); return new Function(tarStr)(self);
} catch (err) { } catch (err) {
debug('parseExpression.error', err, str, self); debug('parseExpression.error', err, str, self);