【发布时间】:2016-07-28 08:32:52
【问题描述】:
想象一下带有多个 TextInput 的简单 ScrollView,例如
<ScrollView style={styles.container}>
<TextInput style={styles.input} />
<TextInput style={styles.input} />
</ScrollView>
当我输入第一个输入时,键盘会打开,我可以输入文本。当我想更改为第二个输入时,我需要点击两次 - 第一次关闭键盘,只有第二次点击打开键盘以进行第二次输入。
一种解决方案是使用keyboardShouldPersistTaps={true} - 切换工作正常,但是键盘根本没有关闭,键盘可以覆盖一些后来的输入(或按钮)。
我也可以使用keyboardDismissMode,但是只需在拖动时关闭键盘。
我的问题是如何将这两种行为结合起来 - 恕我直言,最好的用户体验 - 当我点击另一个输入时,焦点会立即更改,而无需重新打开键盘,当我点击其他地方时,键盘会关闭?
我正在使用 RN0.22,示例应用程序可在 https://rnplay.org/apps/kagpGw 获得
更新 - 这个问题可能已在 RN 0.40 中解决 - 请参阅 https://github.com/facebook/react-native/commit/552c60192172f6ec503181c060c08bbc5cbcc5a4
【问题讨论】:
标签: reactjs keyboard react-native