gpt4 book ai didi

reactjs - 在 ScrollView 中,React Native 需要点击两次才能更改输入焦点

转载 作者:行者123 更新时间:2023-12-03 13:18:54 24 4
gpt4 key购买 nike

想象一下带有多个 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

最佳答案

我用这段代码解决了我的问题

<ScrollView
keyboardDismissMode='on-drag'
keyboardShouldPersistTaps={true}
>

关于reactjs - 在 ScrollView 中,React Native 需要点击两次才能更改输入焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36476542/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com