diff --git a/src/Picker.tsx b/src/Picker.tsx index 11b717bdc..7ecd3ac30 100644 --- a/src/Picker.tsx +++ b/src/Picker.tsx @@ -186,6 +186,7 @@ function InnerPicker(props: PickerProps) { // Panel ref const panelDivRef = React.useRef(null); const inputDivRef = React.useRef(null); + const containerRef = React.useRef(null); // Real value const [mergedValue, setInnerValue] = useMergedState(null, { @@ -294,7 +295,10 @@ function InnerPicker(props: PickerProps) { triggerOpen, forwardKeyDown, isClickOutside: (target) => - !elementsContains([panelDivRef.current, inputDivRef.current], target as HTMLElement), + !elementsContains( + [panelDivRef.current, inputDivRef.current, containerRef.current], + target as HTMLElement, + ), onSubmit: () => { if (disabledDate && disabledDate(selectedValue)) { return false; @@ -486,6 +490,7 @@ function InnerPicker(props: PickerProps) { direction={direction} >