gpt4 book ai didi

react-native - React Native TextInput没有获得焦点

转载 作者:行者123 更新时间:2023-12-04 04:07:55 26 4
gpt4 key购买 nike

我有一个TextInput的简单代码,我希望它在首次呈现和提交时得到关注。但是,它根本没有得到关注。

render() {
return (
<TextInput
ref={(c) => this._input = c}
style={[styles.item, this.props.style]}
placeholder={"New Skill"}
onChangeText={(text) => {
this.setState({text})
}}
onSubmitEditing={(event) => {
this.props.onSubmitEditing(this.state.text);
this._input.clear();
this._input.focus();
}}
/>
);
}

componentDidMount() {
this._input.focus();
}

最佳答案

所以我的假设是正确的。尝试聚焦失败,调用this._inputcomponentDidMount不包含任何内容,因为render函数仍未调用且没有引用。

因此,目前的解决方案是延迟,直到已调用渲染函数为止。

这就是为什么将代码包装在setTimeout函数中很有帮助的原因。无论如何,我承认,这有点棘手。如果有人找到更好的方法,那就太好了。

componentDidMount() {
setTimeout(() => this._input.focus(), 250);
}

关于react-native - React Native TextInput没有获得焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46715378/

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