From ac1c3d03bd185c7f6e29913aa8124114f3c0265e Mon Sep 17 00:00:00 2001 From: weareoutman Date: Thu, 5 Sep 2024 16:34:38 +0800 Subject: [PATCH] fix(eo-iframe): do not render iframe if no src --- bricks/basic/src/iframe/index.spec.tsx | 19 +++++++++++++++++++ bricks/basic/src/iframe/index.tsx | 2 +- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/bricks/basic/src/iframe/index.spec.tsx b/bricks/basic/src/iframe/index.spec.tsx index 02fe8dccf..445d1cd0f 100644 --- a/bricks/basic/src/iframe/index.spec.tsx +++ b/bricks/basic/src/iframe/index.spec.tsx @@ -40,4 +40,23 @@ describe("eo-iframe", () => { document.body.removeChild(element); }); }); + + test("set src later", async () => { + const element = document.createElement("eo-iframe") as Iframe; + + act(() => { + document.body.appendChild(element); + }); + expect(element.shadowRoot?.querySelectorAll("iframe").length).toBe(0); + + await act(async () => { + element.src = "http://localhost/iframe"; + await (global as any).flushPromises(); + }); + expect(element.shadowRoot?.querySelectorAll("iframe").length).toBe(1); + + act(() => { + document.body.removeChild(element); + }); + }); }); diff --git a/bricks/basic/src/iframe/index.tsx b/bricks/basic/src/iframe/index.tsx index 89297114b..91868e138 100644 --- a/bricks/basic/src/iframe/index.tsx +++ b/bricks/basic/src/iframe/index.tsx @@ -116,5 +116,5 @@ export function LegacyIframeComponent( }; }, [onLoad]); - return