如何使用react native设置defaultValue?

时间:2017-12-22 10:30:04

标签: reactjs react-native input textinput native-base

我正在使用本机基础的输入,我无法为输入字段设置默认值。我正在IOS设备上进行测试。以下是我的输入代码:

  <Item floatingLabel>
              <Label>Email</Label>
              <Input
                onChangeText={email => this.setState({ email })}
                defaultValue={this.props.navigation.state.params.email}
                getRef={c => (this._inputEmail = c)}
                onSubmitEditing={event => {
                  this._inputPhone._root.focus();
                }}
                returnKeyType="next"
                keyboardType="email-address"
                autoCapitalize="none"
                autoCorrect={false}
              />
            </Item>

我以前在TextInput中使用它并且它工作正常。我不明白为什么它不适用于输入。 任何帮助或建议表示赞赏。谢谢:)

1 个答案:

答案 0 :(得分:0)

据我所知,NativeBase在输入上没有defaultValue道具,但你可以像这样使用onChangeText和值prop的组合:

<Input
onChangeText={email => this.setState({ email })}
value={this.state.email}
getRef={c => (this._inputEmail = c)}
onSubmitEditing={event => {
    this._inputPhone._root.focus();
}}
returnKeyType="next"
keyboardType="email-address"
autoCapitalize="none"
autoCorrect={false}
/>

在构造函数中设置默认值,或在componentDidMount()

中设置setState