我有一个ScrollView到TextInput控件。

<ScrollView contentContainerStyle={styles.container}>
    <TextInput style={styles.input}/>
    <TextInput style={styles.input}/>
</ScrollView>


单击TextInput时,键盘将按预期显示。如果我在“视图”区域中的“ TextInput”外部单击,则键盘应立即消失。另外,我单击另一个TextInput时,键盘应保留在屏幕上。从一个TextInput移至屏幕上的另一个时,需要单击两次。

这类似于另一个StackOverflow question。当我实现问题的答案时,点击ScrollView时键盘不会消失。

可以在here中找到RNPlay。

最佳答案

在其他keyboardShouldPersistTaps上单击时,在ScrollView上使用TextInput应该删除关闭行为

<ScrollView contentContainerStyle={styles.container}
            keyboardShouldPersistTaps ={true}>
  <TextInput style={styles.input}/>
  <TextInput style={styles.input}/>
</ScrollView>


但是当在TextInput之外单击时,它将禁用键盘关闭行为。

考虑在ScrollView上添加点击侦听器,并在检测到点击时使用react-native-dismiss-keyboard模块隐藏键盘

10-07 21:53
查看更多