diff --git a/src/Picker.tsx b/src/Picker.tsx index dd7e00854..975e0c41e 100644 --- a/src/Picker.tsx +++ b/src/Picker.tsx @@ -405,6 +405,10 @@ function InnerPicker(props: PickerProps) { onMouseDown={e => { e.preventDefault(); e.stopPropagation(); + }} + onMouseUp={e => { + e.preventDefault(); + e.stopPropagation(); triggerChange(null); triggerOpen(false, true); }} diff --git a/src/RangePicker.tsx b/src/RangePicker.tsx index 4b289feeb..c8968c927 100644 --- a/src/RangePicker.tsx +++ b/src/RangePicker.tsx @@ -907,6 +907,10 @@ function InnerRangePicker(props: RangePickerProps) { onMouseDown={e => { e.preventDefault(); e.stopPropagation(); + }} + onMouseUp={e => { + e.preventDefault(); + e.stopPropagation(); let values = mergedValue; if (!mergedDisabled[0]) { diff --git a/tests/setup.js b/tests/setup.js index b340fcf68..ae08bc0b1 100644 --- a/tests/setup.js +++ b/tests/setup.js @@ -74,6 +74,7 @@ Object.assign(Enzyme.ReactWrapper.prototype, { }, clearValue() { this.find('.rc-picker-clear-btn').simulate('mouseDown'); + this.find('.rc-picker-clear-btn').simulate('mouseUp'); }, keyDown(which, info = {}, index = 0) { this.find('input')