Клавиатура не отображается при автофокусе TextInput - PullRequest
0 голосов
/ 26 апреля 2019

В моем приложении есть кнопка ответить , когда пользователь нажимает на нее, она изменит TextInput autoFocus на true .Я устанавливаю значение автофокуса на false в качестве значения по умолчанию и сохраняю его в состоянии.Я вижу, что состояние изменится на true , но оно не откроет клавиатуру.

Это мой TextInput:

<TextInput
    autoFocus={this.state.textInputFocus}
    selectTextOnFocus={true}
    ref={ref => this.textInputRef = ref}
    multiline = {true}
    placeholder="Write a comment ..."
    onChangeText={(postComment) => this.setState({postComment})}
    value={this.state.postComment} />

Вот функция для изменениясостояние при нажатии кнопки ответа:

_openReplyBox(comment_id, commenter){
    this.setState({ postComment: commenter, textInputFocus: true })
}

1 Ответ

1 голос
/ 26 апреля 2019

В соответствии с документами:

автофокус : если true, фокусирует ввод на componentDidMount. Значением по умолчанию является false

Вы можете использовать ссылки для достижения той же функциональности.

 <TextInput
        ref={"textRef"}
        ...
      />

В openReplyBox:

_openReplyBox(comment_id, commenter){
    this.refs.textRef.focus();
    this.setState({ postComment: commenter})
}
...