diff --git a/packages/designer/src/document/node/props/prop.ts b/packages/designer/src/document/node/props/prop.ts index 6b7f0c2d6..df8cb1b56 100644 --- a/packages/designer/src/document/node/props/prop.ts +++ b/packages/designer/src/document/node/props/prop.ts @@ -152,10 +152,15 @@ export class Prop implements IPropParent { if (!this._items) { return this._value; } - const maps: any = {}; + let maps: any; this.items!.forEach((prop, key) => { - const v = prop.export(stage); - maps[prop.key == null ? key : prop.key] = v; + if (!prop.isUnset()) { + const v = prop.export(stage); + if (v != null) { + maps = maps || {}; + maps[prop.key || key] = prop.export(stage); + } + } }); return maps; } diff --git a/packages/designer/src/document/node/props/props.ts b/packages/designer/src/document/node/props/props.ts index bdf7ab470..e5f3e828d 100644 --- a/packages/designer/src/document/node/props/props.ts +++ b/packages/designer/src/document/node/props/props.ts @@ -129,12 +129,11 @@ export class Props implements IPropParent { } else { this.items.forEach(item => { let name = item.key as string; - if (name == null) { - // todo ...spread - return; - } + if (name == null || item.isUnset() || item.isVirtual()) return; let value = item.export(stage); - allProps[name] = value; + if (value != null) { + allProps[name] = value; + } }); // compatible vision const transformedProps = this.transformToStatic(allProps);