如何在反应原生

时间:2017-08-22 08:04:46

标签: android ios react-native

我正在使用本地反应的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上设置焦点或光标。有人知道怎么做反应原生吗?

1 个答案:

答案 0 :(得分:2)

请你试试:

this.refs.messageTextInput.focus();
我曾经这样用过它 示例:(删除了TextInput的额外代码)

<TextInput
    onSubmitEditing={() => {
        this.refs.PasswordInput.focus();
    }}
/>
<TextInput
    ref='PasswordInput'
/>