diff --git a/src/Drawer.tsx b/src/Drawer.tsx index 7231c481..eef991ab 100644 --- a/src/Drawer.tsx +++ b/src/Drawer.tsx @@ -133,7 +133,7 @@ const Drawer: React.FC = props => { open={mergedOpen || forceRender || animatedVisible} autoDestroy={false} getContainer={getContainer} - autoLock={mask && (mergedOpen || animatedVisible)} + autoLock={mergedOpen || animatedVisible} > diff --git a/tests/index.spec.tsx b/tests/index.spec.tsx index d41e9493..7ecd5214 100755 --- a/tests/index.spec.tsx +++ b/tests/index.spec.tsx @@ -143,8 +143,10 @@ describe('rc-drawer-menu', () => { }); describe('mask', () => { - it('mask false not lock body scroll', () => { - const { unmount } = render(); + it('not lock body scroll when getContainer is not body', () => { + const div = document.createElement('div'); + document.body.appendChild(div); + const { unmount } = render( div} />); const drawer = document.querySelector('.rc-drawer'); expect(drawer).toBeTruthy(); expect(document.body.contains(drawer)).toBeTruthy(); @@ -154,6 +156,19 @@ describe('rc-drawer-menu', () => { unmount(); }); + it('lock body scroll when getContainer give document.body', () => { + const { unmount } = render( + document.body} />, + ); + const drawer = document.querySelector('.rc-drawer'); + expect(drawer).toBeTruthy(); + expect(document.body.contains(drawer)).toBeTruthy(); + expect(document.body).toHaveStyle({ + overflowY: 'hidden', + }); + unmount(); + }); + it('maskClosable', () => { const onClose = jest.fn(); const { container } = render(