Dismiss keyboard when opening selectors
This commit is contained in:
@@ -17,6 +17,7 @@ import {
|
|||||||
ScrollView,
|
ScrollView,
|
||||||
Platform,
|
Platform,
|
||||||
StatusBar,
|
StatusBar,
|
||||||
|
Keyboard,
|
||||||
useWindowDimensions,
|
useWindowDimensions,
|
||||||
type LayoutChangeEvent,
|
type LayoutChangeEvent,
|
||||||
type PressableStateCallbackType,
|
type PressableStateCallbackType,
|
||||||
@@ -737,6 +738,9 @@ function applySetOpen(
|
|||||||
onOpenChange: ((open: boolean) => void) | undefined,
|
onOpenChange: ((open: boolean) => void) | undefined,
|
||||||
nextOpen: boolean,
|
nextOpen: boolean,
|
||||||
) {
|
) {
|
||||||
|
if (nextOpen) {
|
||||||
|
Keyboard.dismiss();
|
||||||
|
}
|
||||||
if (!isControlled) {
|
if (!isControlled) {
|
||||||
setInternalOpen(nextOpen);
|
setInternalOpen(nextOpen);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ import {
|
|||||||
Text,
|
Text,
|
||||||
View,
|
View,
|
||||||
Dimensions,
|
Dimensions,
|
||||||
|
Keyboard,
|
||||||
Platform,
|
Platform,
|
||||||
StatusBar,
|
StatusBar,
|
||||||
type PressableProps,
|
type PressableProps,
|
||||||
@@ -90,6 +91,9 @@ function useControllableOpenState({
|
|||||||
const value = isControlled ? open : internalOpen;
|
const value = isControlled ? open : internalOpen;
|
||||||
const setValue = useCallback(
|
const setValue = useCallback(
|
||||||
(next: boolean) => {
|
(next: boolean) => {
|
||||||
|
if (next) {
|
||||||
|
Keyboard.dismiss();
|
||||||
|
}
|
||||||
if (!isControlled) setInternalOpen(next);
|
if (!isControlled) setInternalOpen(next);
|
||||||
onOpenChange?.(next);
|
onOpenChange?.(next);
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user