File tree Expand file tree Collapse file tree 2 files changed +23
-4
lines changed Expand file tree Collapse file tree 2 files changed +23
-4
lines changed Original file line number Diff line number Diff line change @@ -200,6 +200,8 @@ function InnerPicker<DateType>(props: PickerProps<DateType>) {
200200
201201 const inputRef = React . useRef < HTMLInputElement > ( null ) ;
202202
203+ const isMouseDownRef = React . useRef ( false ) ;
204+
203205 const needConfirmButton : boolean = ( picker === 'date' && ! ! showTime ) || picker === 'time' ;
204206
205207 const presetList = usePresets ( presets ) ;
@@ -499,14 +501,18 @@ function InnerPicker<DateType>(props: PickerProps<DateType>) {
499501 const clearNode : React . ReactNode = (
500502 < span
501503 onMouseDown = { ( e ) => {
504+ isMouseDownRef . current = true ;
502505 e . preventDefault ( ) ;
503506 e . stopPropagation ( ) ;
504507 } }
505508 onMouseUp = { ( e ) => {
506- e . preventDefault ( ) ;
507- e . stopPropagation ( ) ;
508- triggerChange ( null ) ;
509- triggerOpen ( false ) ;
509+ if ( isMouseDownRef . current ) {
510+ isMouseDownRef . current = false ;
511+ e . preventDefault ( ) ;
512+ e . stopPropagation ( ) ;
513+ triggerChange ( null ) ;
514+ triggerOpen ( false ) ;
515+ }
510516 } }
511517 className = { `${ prefixCls } -clear` }
512518 role = "button"
Original file line number Diff line number Diff line change @@ -885,6 +885,19 @@ describe('Picker.Basic', () => {
885885 expect ( document . querySelector ( 'input' ) . value ) . toEqual ( '' ) ;
886886 } ) ;
887887
888+ it ( 'trigger clear' , ( ) => {
889+ render (
890+ < MomentPicker
891+ allowClear
892+ defaultValue = { getMoment ( '2023-12-28' ) }
893+ /> ,
894+ ) ;
895+
896+ expect ( document . querySelector ( 'input' ) . value ) . toBe ( '2023-12-28' ) ;
897+ clearValue ( ) ;
898+ expect ( document . querySelector ( 'input' ) . value ) . toEqual ( '' ) ;
899+ } ) ;
900+
888901 it ( 'custom clear icon' , ( ) => {
889902 render (
890903 < MomentPicker
You can’t perform that action at this time.
0 commit comments