diff --git a/packages/semi-ui/modal/Modal.tsx b/packages/semi-ui/modal/Modal.tsx index 9a91583aa0..c5e5bec900 100644 --- a/packages/semi-ui/modal/Modal.tsx +++ b/packages/semi-ui/modal/Modal.tsx @@ -137,14 +137,14 @@ class Modal extends BaseComponent { disabledBodyScroll: () => { const { getPopupContainer } = this.props; this.bodyOverflow = document.body.style.overflow || ''; - if (!getPopupContainer && this.bodyOverflow !== 'hidden') { + if ((!getPopupContainer || getPopupContainer() === document.body) && this.bodyOverflow !== 'hidden') { document.body.style.overflow = 'hidden'; document.body.style.width = `calc(${this.originBodyWidth || '100%'} - ${this.scrollBarWidth}px)`; } }, enabledBodyScroll: () => { const { getPopupContainer } = this.props; - if (!getPopupContainer && this.bodyOverflow !== null && this.bodyOverflow !== 'hidden') { + if ((!getPopupContainer || getPopupContainer() === document.body) && this.bodyOverflow !== null && this.bodyOverflow !== 'hidden') { document.body.style.overflow = this.bodyOverflow; document.body.style.width = this.originBodyWidth; } @@ -354,7 +354,7 @@ class Modal extends BaseComponent { } = { zIndex, }; - if (getPopupContainer) { + if (getPopupContainer && getPopupContainer() !== document.body) { wrapperStyle = { zIndex, position: 'static', diff --git a/packages/semi-ui/modal/ModalContent.tsx b/packages/semi-ui/modal/ModalContent.tsx index 4348f8a55c..648933b06e 100644 --- a/packages/semi-ui/modal/ModalContent.tsx +++ b/packages/semi-ui/modal/ModalContent.tsx @@ -308,7 +308,7 @@ export default class ModalContent extends BaseComponent