File tree 3 files changed +23
-2
lines changed
3 files changed +23
-2
lines changed Original file line number Diff line number Diff line change @@ -360,6 +360,7 @@ function InnerRangePicker<DateType>(props: RangePickerProps<DateType>) {
360
360
open ,
361
361
activePickerIndex ,
362
362
changeOnBlur ,
363
+ needConfirmButton ,
363
364
startInputRef ,
364
365
endInputRef ,
365
366
getValue ( selectedValue , 0 ) ,
Original file line number Diff line number Diff line change @@ -29,6 +29,7 @@ export default function useRangeOpen(
29
29
open : boolean ,
30
30
activePickerIndex : 0 | 1 | undefined ,
31
31
changeOnBlur : boolean ,
32
+ needConfirmButton : boolean ,
32
33
startInputRef : React . RefObject < HTMLInputElement > ,
33
34
endInputRef : React . RefObject < HTMLInputElement > ,
34
35
startSelectedValue : any ,
@@ -93,7 +94,9 @@ export default function useRangeOpen(
93
94
}
94
95
}
95
96
} else if ( source === 'confirm' || ( source === 'blur' && changeOnBlur ) ) {
96
- const customNextActiveIndex = afferentOpen ? queryNextIndex ( index ) : nextActiveIndex ;
97
+ // dateTime mode does not need help getting the index
98
+ const customNextActiveIndex =
99
+ afferentOpen && ! needConfirmButton ? queryNextIndex ( index ) : nextActiveIndex ;
97
100
98
101
if ( customNextActiveIndex !== null ) {
99
102
setFirstTimeOpen ( false ) ;
Original file line number Diff line number Diff line change @@ -1076,7 +1076,9 @@ describe('Picker.Range', () => {
1076
1076
open
1077
1077
cellRender = { ( date , info ) => {
1078
1078
expect ( info . range ) . toEqual ( range ) ;
1079
- return date . format ( 'YYYY-MM-DD' ) ;
1079
+ if ( typeof date !== 'number' ) {
1080
+ return date . format ( 'YYYY-MM-DD' ) ;
1081
+ }
1080
1082
} }
1081
1083
/> ,
1082
1084
) ;
@@ -1968,4 +1970,19 @@ describe('Picker.Range', () => {
1968
1970
expect ( onChange ) . not . toHaveBeenCalled ( ) ;
1969
1971
} ) ;
1970
1972
} ) ;
1973
+
1974
+ it ( 'dateTime mode should be can use a confirm button to close the panel' , ( ) => {
1975
+ const onOpenChange = jest . fn ( ) ;
1976
+
1977
+ render (
1978
+ < MomentRangePicker open showTime onOpenChange = { onOpenChange } /> ,
1979
+ ) ;
1980
+
1981
+ for ( let i = 0 ; i < 2 ; i ++ ) {
1982
+ selectCell ( 24 ) ;
1983
+ fireEvent . click ( document . querySelector ( '.rc-picker-ok button' ) ) ;
1984
+ }
1985
+
1986
+ expect ( onOpenChange ) . toHaveBeenCalledWith ( false ) ;
1987
+ } ) ;
1971
1988
} ) ;
You can’t perform that action at this time.
0 commit comments