From 11ca99a035ad94f9d708c2883532e75409cbca3d Mon Sep 17 00:00:00 2001 From: luoluo <1425735414@qq.com> Date: Thu, 28 Dec 2023 11:21:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=B8=E8=BD=BD=E4=BF=AE=E6=94=B9=E4=B8=BA.u?= =?UTF-8?q?nmount()?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yakitUI/YakitDrawer/YakitDrawer.tsx | 7 ------- .../yakitUI/YakitModal/YakitModalConfirm.tsx | 18 ++++++++++-------- .../src/main/src/utils/showByCursor.tsx | 16 ++++++++++------ app/renderer/src/main/src/utils/showModal.tsx | 18 ++++++++++-------- 4 files changed, 30 insertions(+), 29 deletions(-) diff --git a/app/renderer/src/main/src/components/yakitUI/YakitDrawer/YakitDrawer.tsx b/app/renderer/src/main/src/components/yakitUI/YakitDrawer/YakitDrawer.tsx index 886120d5c0..04286462fd 100644 --- a/app/renderer/src/main/src/components/yakitUI/YakitDrawer/YakitDrawer.tsx +++ b/app/renderer/src/main/src/components/yakitUI/YakitDrawer/YakitDrawer.tsx @@ -80,13 +80,6 @@ export const showYakitDrawer = (props: ShowDrawerProps) => { onVisibleSetter={(r) => { setter = r }} - // afterClose={() => { - // if (props.modalAfterClose) props.modalAfterClose() - // const unmountResult = ReactDOM.unmountComponentAtNode(div) - // if (unmountResult && div.parentNode) { - // div.parentNode.removeChild(div) - // } - // }} > { diff --git a/app/renderer/src/main/src/components/yakitUI/YakitModal/YakitModalConfirm.tsx b/app/renderer/src/main/src/components/yakitUI/YakitModal/YakitModalConfirm.tsx index 4f204f6fb7..42b27c444f 100644 --- a/app/renderer/src/main/src/components/yakitUI/YakitModal/YakitModalConfirm.tsx +++ b/app/renderer/src/main/src/components/yakitUI/YakitModal/YakitModalConfirm.tsx @@ -37,10 +37,11 @@ export const YakitModalConfirm = (props: YakitModalConfirmProps) => { }} afterClose={() => { if (props.modalAfterClose) props.modalAfterClose() - const unmountResult = ReactDOM.unmountComponentAtNode(div) - if (unmountResult && div.parentNode) { - div.parentNode.removeChild(div) - } + setTimeout(() => { + if (yakitModalConfirmRootDiv) { + yakitModalConfirmRootDiv.unmount() + } + }) }} title={null} headerStyle={{paddingBottom: 0}} @@ -221,10 +222,11 @@ export const showYakitModal = (props: ShowModalProps) => { }} afterClose={() => { if (props.modalAfterClose) props.modalAfterClose() - const unmountResult = ReactDOM.unmountComponentAtNode(div) - if (unmountResult && div.parentNode) { - div.parentNode.removeChild(div) - } + setTimeout(() => { + if (yakitModalRootDiv) { + yakitModalRootDiv.unmount() + } + }) }} > { - const unmountResult = ReactDOM.unmountComponentAtNode(div) - if (unmountResult && div.parentNode) { - div.parentNode.removeChild(div) + if (cursorMenuRootDiv) { + cursorMenuRootDiv.unmount() } } @@ -98,8 +97,12 @@ export const showByCursorMenu = (props: ByCursorMenuProp, x: number, y: number) destory() document.removeEventListener("click", onClickOutsize) }) - if ((props.content || []).length > 0) - createRoot(div).render( + if ((props.content || []).length > 0) { + if (!cursorMenuRootDiv) { + cursorMenuRootDiv = createRoot(div) + } + + cursorMenuRootDiv.render( { @@ -147,6 +150,7 @@ export const showByCursorMenu = (props: ByCursorMenuProp, x: number, y: number) })} ) + } }) } render() diff --git a/app/renderer/src/main/src/utils/showModal.tsx b/app/renderer/src/main/src/utils/showModal.tsx index 60decd87e2..be518ee2bc 100644 --- a/app/renderer/src/main/src/utils/showModal.tsx +++ b/app/renderer/src/main/src/utils/showModal.tsx @@ -59,10 +59,11 @@ export const showModal = (props: ShowModalProps) => { }} afterClose={() => { if (props.modalAfterClose) props.modalAfterClose() - const unmountResult = ReactDOM.unmountComponentAtNode(div) - if (unmountResult && div.parentNode) { - div.parentNode.removeChild(div) - } + setTimeout(() => { + if (modalRootDiv) { + modalRootDiv.unmount() + } + }) }} > { onDestroy = setter }} afterClose={() => { - const unmountResult = ReactDOM.unmountComponentAtNode(div) - if (unmountResult && div.parentNode) { - div.parentNode.removeChild(div) - } + setTimeout(() => { + if (drawerRootDiv) { + drawerRootDiv.unmount() + } + }) }} > {targetConfig.content}