2017-12-22 5 views
0

I-Eingang von nativer Basis verwenden, und ich bin nicht in der Lage einen Standardwert für den Eingang setzen field.I auf einer IOS device.Following mich entscheiden mein Code für die Eingabe:Wie setze ich defaultValue mit reaktiven nativen?

<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> 

Ich habe es verwendet, vor in einem TextInput und es funktioniert gut.Ich verstehe nicht, warum es nicht für die Eingabe funktioniert. Jede Hilfe oder Anregung ist appreciated.THANKS :)

+0

ich bin nicht sicher, wie Sie Ihre 'Input' Komponente aussieht, aber scheint, dass Sie nicht Requisiten bis zu' TextInput' sind vorbei, weil 'defaultValue' in der' TextInput' Komponente verfügbar ist. –

+0

@TheReason Ich verwende Folgendes als Standard-Wert: - defaultValue = {this.props.navigation.state.params.email} – anup

+0

@ TuấnTrầnDuy in dem Dokument sagt es so etwas wie Input: Native TextInput reagieren Ich nehme an, es hat alle Funktionalität, die die Texteingabe mit zusätzlichen Vorteilen hat – anup

Antwort

0

Soweit ich weiß NativeBase keinen default Stütze am Eingang hat, aber man konnte nur eine Kombination aus dem onChangeText und den Wert prop wie folgt verwenden:

<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} 
/> 

den Standardwert im Konstruktor festgelegt oder mit setState in componentDidMount()

+0

Vielen Dank. Der aktuelle Fluss meiner App ist Ich klicke auf eine Schaltfläche zum Bearbeiten und dann auf Bearbeitungsbildschirm Ich möchte die Eingabefelder mit Daten vorbelegen. – anup

+0

Setzen Sie die onPress-Aktion für die Schaltfläche auf 'setState ({email: value, ...});' und nehmen Sie den Wert aus Ihrem Redux-Status (zB 'email: this.props.navigation.state.params.email') , also bist du gut zu gehen;) – Marco

+0

@anup Hat es so funktioniert? – Marco

Verwandte Themen