我正在使用本地反应的TextInput
组件。我想在onPress函数中设置焦点。
<TextInput
ref="messageTextInput"
style={{
height: 40,
width: "100%",
borderColor: "gray",
borderWidth: 1,
marginTop: 8
}}
underlineColorAndroid="transparent"
placeholder={strings.enter_your_message}
onChangeText={text => this.setState({ text })}
/>
_onPress(navigate) {
try {
if (!this.state.text.trim()) {
Alert.alert(strings.app_name, strings.validate_text);
this.messageTextInput.focus();
}
} catch (error) {
console.log(error);
}
}
它不会在messageTextInput上设置焦点或光标。有人知道怎么做反应原生吗?
答案 0 :(得分:2)
请你试试:
this.refs.messageTextInput.focus();
我曾经这样用过它
示例:(删除了TextInput的额外代码)
<TextInput
onSubmitEditing={() => {
this.refs.PasswordInput.focus();
}}
/>
<TextInput
ref='PasswordInput'
/>