From ef5dd50bc886aa6c148e310fba4c1cbd415bb47c Mon Sep 17 00:00:00 2001 From: "lihao.ylh" Date: Wed, 29 Sep 2021 21:43:34 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=85=BC=E5=AE=B9=E5=8E=9F=E6=9D=A5=20P?= =?UTF-8?q?ropStash=20=E7=9A=84=20export=20=E6=95=B0=E6=8D=AE=E7=BB=93?= =?UTF-8?q?=E6=9E=84,=20=E5=8E=BB=E9=99=A4=20undefined=20=E7=AD=89?= =?UTF-8?q?=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/designer/src/document/node/props/prop.ts | 11 ++++++++--- packages/designer/src/document/node/props/props.ts | 9 ++++----- 2 files changed, 12 insertions(+), 8 deletions(-) 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);