File tree Expand file tree Collapse file tree 2 files changed +21
-9
lines changed Expand file tree Collapse file tree 2 files changed +21
-9
lines changed Original file line number Diff line number Diff line change @@ -40,6 +40,10 @@ const Drawer: React.FC<DrawerProps> = props => {
40
40
} ;
41
41
42
42
// ============================ Render ============================
43
+ if ( ! forceRender && ! animatedVisible && ! open && destroyOnClose ) {
44
+ return null ;
45
+ }
46
+
43
47
const sharedDrawerProps = {
44
48
...props ,
45
49
prefixCls,
@@ -50,10 +54,6 @@ const Drawer: React.FC<DrawerProps> = props => {
50
54
return < DrawerPopup { ...sharedDrawerProps } inline /> ;
51
55
}
52
56
53
- if ( ! forceRender && ! animatedVisible && ! open && destroyOnClose ) {
54
- return null ;
55
- }
56
-
57
57
return (
58
58
< Portal
59
59
visible = { open }
Original file line number Diff line number Diff line change @@ -159,11 +159,23 @@ describe('rc-drawer-menu', () => {
159
159
render ( < Drawer forceRender /> ) ;
160
160
expect ( document . querySelector ( '.rc-drawer' ) ) . toBeTruthy ( ) ;
161
161
} ) ;
162
- it ( 'destroyOnClose' , ( ) => {
163
- const { rerender } = render ( < Drawer destroyOnClose open /> ) ;
164
- expect ( document . querySelector ( '.rc-drawer' ) ) . toBeTruthy ( ) ;
165
- rerender ( < Drawer destroyOnClose /> ) ;
166
- expect ( document . querySelector ( '.rc-drawer' ) ) . toBeFalsy ( ) ;
162
+
163
+ describe ( 'destroyOnClose' , ( ) => {
164
+ it ( 'basic' , ( ) => {
165
+ const { rerender } = render ( < Drawer destroyOnClose open /> ) ;
166
+ expect ( document . querySelector ( '.rc-drawer' ) ) . toBeTruthy ( ) ;
167
+ rerender ( < Drawer destroyOnClose /> ) ;
168
+ expect ( document . querySelector ( '.rc-drawer' ) ) . toBeFalsy ( ) ;
169
+ } ) ;
170
+
171
+ it ( 'inline' , ( ) => {
172
+ const { container, rerender } = render (
173
+ < Drawer destroyOnClose open getContainer = { false } /> ,
174
+ ) ;
175
+ expect ( container . querySelector ( '.rc-drawer' ) ) . toBeTruthy ( ) ;
176
+ rerender ( < Drawer destroyOnClose getContainer = { false } /> ) ;
177
+ expect ( container . querySelector ( '.rc-drawer' ) ) . toBeFalsy ( ) ;
178
+ } ) ;
167
179
} ) ;
168
180
169
181
describe ( 'placement' , ( ) => {
You can’t perform that action at this time.
0 commit comments