键盘应该使用@gorhom/bottomsheet

问题描述 投票:0回答:2

这是我的代码的概要:

<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"
但它不起作用。

我错过了什么?

react-native react-native-flatlist textinput bottom-sheet flatlist
2个回答
1
投票

解决此问题的一种方法是将

keyboardDismissMode
属性设置为
'on-drag'
,这只会在用户开始拖动 BottomSheet 内容时关闭键盘。这样,当用户点击按钮或其他非文本输入元素时,键盘将保持打开状态。


0
投票

面临同样的问题。 而且也不知道在哪里添加keyboardDismissMode

© www.soinside.com 2019 - 2024. All rights reserved.