Перечисление KeyboardShouldPersistTaps
Перечисление KeyboardShouldPersistTaps задает строки
для параметра keyboardShouldPersistTaps у
ScrollView
и списков.
Значение влияет на то, получит ли касание кнопка под открытой клавиатурой.
Синтаксис
keyboardShouldPersistTaps="handled"
Значения
| Значение | Описание |
|---|---|
'always' |
Клавиатура не мешает касанию: нажатия доходят до элементов сразу. |
'never' |
Первое касание закрывает клавиатуру, элемент под пальцем не получает нажатие. |
'handled' |
Клавиатура остается, если касание не перехвачено дочерним элементом. Иначе клавиатура закрывается. |
Значение по умолчанию: 'never'.
Пример
Давайте разрешим нажатия по кнопке без закрытия клавиатуры:
import { ScrollView, TextInput, Pressable, Text } from 'react-native';
export default function App() {
return (
<ScrollView keyboardShouldPersistTaps="always">
<TextInput placeholder="abcde" />
<Pressable>
<Text>12345</Text>
</Pressable>
</ScrollView>
);
}
На экране кнопка сработает с первого касания, даже если клавиатура открыта.
Пример
Давайте используем 'handled' для формы со смешанным содержимым:
import { ScrollView, TextInput, Pressable, Text } from 'react-native';
export default function App() {
return (
<ScrollView keyboardShouldPersistTaps="handled">
<TextInput placeholder="12345" />
<Pressable>
<Text>abcde</Text>
</Pressable>
</ScrollView>
);
}
На экране нажатие по кнопке дойдет до Pressable,
а касание по пустой области может закрыть клавиатуру.
Смотрите также
-
перечисление
KeyboardDismissMode,
которое прячет клавиатуру при прокрутке -
компонент
ScrollView,
который принимает keyboardShouldPersistTaps -
компонент
Pressable,
который обрабатывает нажатие -
компонент
TextInput,
который открывает клавиатуру