切换到下一个文本输入字段而不在 react-native 中关闭键盘

Posted

技术标签:

【中文标题】切换到下一个文本输入字段而不在 react-native 中关闭键盘【英文标题】:shift to next text input field without closing keyboard in react-native 【发布时间】:2017-04-26 23:36:00 【问题描述】:

我有 6 个文本输入字段,当我单击任何文本输入字段时,首先文本输入字段会关闭,我必须再次单击相同的输入字段才能再次打开它

有没有办法在不使用returnKeyType="next" 的情况下切换到下一个输入字段,这样当我切换到任何输入字段时,键盘保持打开状态。

这是我的文本输入字段代码:

<View style=styles.inputContainer>
              <TextInput
                ref='fname'
                autoCorrect=false
                placeholder="First Name"
                style=styles.textInput
                placeholderTextColor='#848484'
                autoCapitalize='words'
                maxLength=20
                onFocus=()=>context._handleScrollView(ReactNative.findNodeHandle(context.refs.fname))
                onBlur=()=>context._resetScrollView(ReactNative.findNodeHandle(context.refs.fname))
                onChangeText=(fname) => context.setState(fname: fname.capitalizeFirstLetter()) />
            </View>

我应该添加什么属性或一些方法或函数来解决这个问题?

【问题讨论】:

【参考方案1】:

你可能在一个卷轴里。需要在 ScrollView 组件中添加keyboardShouldPersistTaps:

当为 false 时,当键盘向上时,在焦点文本输入之外点击会关闭键盘。当为 true 时,键盘不会自动关闭,并且滚动视图不会捕捉到点击,但滚动视图的子视图可以捕捉到点击。默认值为 false。

<ScrollView
    keyboardShouldPersistTaps
    ...
>

【讨论】:

现在是keyboardShouldPersistTaps='always'【参考方案2】:

从 react-native 0.40 开始,正确的方法是 keyboardShouldPersistTaps='always'keyboardShouldPersistTapskeyboardShouldPersistTaps=true弃用

查看更多here

【讨论】:

以上是关于切换到下一个文本输入字段而不在 react-native 中关闭键盘的主要内容,如果未能解决你的问题,请参考以下文章

uiresponder 下一个文本字段在 keyEvent 之后成为FirstResponder

微信小程序多个input文本框如何实现输入完一个点击“下一项”切换到下一个文本框?

React-native:打开表情符号键盘

如何在颤动中将焦点转移到下一个文本字段?

TextField 中的 IOS8 文本在焦点上反弹

联系表格 7 自动选项卡到下一个字段