File tree Expand file tree Collapse file tree 2 files changed +29
-1
lines changed Expand file tree Collapse file tree 2 files changed +29
-1
lines changed Original file line number Diff line number Diff line change @@ -269,7 +269,7 @@ function InternalRangePicker<DateType>(
269
269
const lastOpenIdRef = React . useRef < number > ( ) ;
270
270
271
271
const onStartOpenChange = ( open : boolean ) => {
272
- if ( ! open && innerValue && innerValue [ 0 ] ) {
272
+ if ( ! open && selectedValues && selectedValues [ 0 ] ) {
273
273
lastOpenIdRef . current = window . setTimeout ( ( ) => {
274
274
if ( endPickerRef . current ) {
275
275
endPickerRef . current ! . focus ( ) ;
Original file line number Diff line number Diff line change 1
1
import React from 'react' ;
2
2
import MockDate from 'mockdate' ;
3
+ import { act } from 'react-dom/test-utils' ;
3
4
import KeyCode from 'rc-util/lib/KeyCode' ;
4
5
import { spyElementPrototypes } from 'rc-util/lib/test/domHook' ;
5
6
import { Moment } from 'moment' ;
@@ -534,4 +535,31 @@ describe('Range', () => {
534
535
535
536
expect ( onChange ) . not . toHaveBeenCalled ( ) ;
536
537
} ) ;
538
+
539
+ it ( 'should open last when first selected' , ( ) => {
540
+ jest . useFakeTimers ( ) ;
541
+ const onOpenChange = jest . fn ( ) ;
542
+ const wrapper = mount ( < MomentRangePicker onOpenChange = { onOpenChange } /> ) ;
543
+ expect ( wrapper . find ( 'PickerPanel' ) ) . toHaveLength ( 0 ) ;
544
+
545
+ wrapper . openPicker ( ) ;
546
+ wrapper . selectCell ( 11 ) ;
547
+ expect ( wrapper . find ( 'PickerPanel' ) ) . toHaveLength ( 1 ) ;
548
+
549
+ // Should open second one
550
+ wrapper . closePicker ( ) ;
551
+ expect ( onOpenChange ) . toHaveBeenCalled ( ) ;
552
+
553
+ act ( ( ) => {
554
+ jest . runAllTimers ( ) ;
555
+ } ) ;
556
+ act ( ( ) => {
557
+ wrapper . update ( ) ;
558
+ } ) ;
559
+ expect ( wrapper . find ( 'PickerPanel' ) ) . toHaveLength ( 2 ) ;
560
+
561
+ wrapper . unmount ( ) ;
562
+
563
+ jest . useRealTimers ( ) ;
564
+ } ) ;
537
565
} ) ;
You can’t perform that action at this time.
0 commit comments