如果聚焦而另一个输入被聚焦,则输入将不会响应模糊

时间:2018-04-10 10:26:26

标签: react-native

我有一个奇怪的问题,在一个特殊情况下手动模糊和输入将无效。

如果我单击第一个输入,然后使用键盘上的提交键聚焦第二个输入,当文本长度达到2时,第二个输入上的onChangeText函数将模糊。

但是如果我通过直接点击第一个输入来聚焦第二个输入,那么onChangeText中调用的模糊方法不会模糊第二个输入,键盘将保持打开状态。

onChangeText(text) {
    if(text.length === 2) this.secondInput.blur();
}

onSubmitFirst() {
    this.firstInput.blur();
    this.secondInput.focus();
}

render() {
    return (
        <TextInput ref={ref => {this.firstInput = ref} onSubmitEditing={this.onSubmitFirst}/>
        <TextInput ref={ref => {this.secondInput = ref} onChangeText={this.onChangeText}/>
    )
}

我也尝试过使用Keyboard.dismiss(); dismissKeyboard();如果第一个输入也是聚焦的,那么第二个输入也不会模糊。我需要能够通过代码模糊此输入,以防止键盘保持打开状态。

修改

似乎.blur()只有在手动调用.focus()时才会起作用。

如果我添加onBlur = {()=&gt; this.secondInput.focus()}到第一个textinput .blur()方法即使通过点击跳转到下一个输入也会有效

0 个答案:

没有答案
相关问题