这是我的代码的概要:
<BottomSheet
ref={bottomSheetRef}
index={0}
snapPoints={snapPoints}
onChange={(index) => {
handleSheetChanges(index);
if (index === 1) {
setFetching(true);
} else if (index === 0) {
setFetching(false);
}
textinputRef.current.blur();
}}
keyboardBlurBehavior="restore"
keyboardBehavior="interactive"
>
<BottomSheetFlatList
contentContainerStyle={styles.contentContainer}
keyboardDismissMode="none"
data={data}
renderItem={({ item }) => (
<Comment
key={item.id}
handleLikeComment={handleLikeComment}
comment={item}
setIsKeyboard={setIsKeyboard}
handleReplyOnComment={handleReplyOnComment}
setFetching={setFetching}
/>
)}
refreshing={loading}
onRefresh={() => setFetching(true)}
/>
// Rest of code
</BottomSheet>
在文本输入中我使用
BottomSheetTextInput
。
问题是当键盘打开并且我尝试按下按钮时,键盘会被关闭。
我也尝试使用 keyboardShouldPersistTaps="always"
而不是 keyboardDismissMode="none"
但它不起作用。
我错过了什么?
解决此问题的一种方法是将
keyboardDismissMode
属性设置为 'on-drag'
,这只会在用户开始拖动 BottomSheet 内容时关闭键盘。这样,当用户点击按钮或其他非文本输入元素时,键盘将保持打开状态。
面临同样的问题。 而且也不知道在哪里添加keyboardDismissMode