2016-07-26 28 views
4

im Einsatz reactive Redox-Formular-Felder und ich habe Drop-Down-Klassen. Ich kann jede Klasse aus dem Drop-down-Menü auswählen. aber das Problem ist, dass, wann immer ich einen Wert (Klasse) aus Drop-Down auswählen möchte ich Action onChange auslösen möchte. Wenn ich eine Aktion mit einem Change-Dropdown-Wert triggere, wird kein Wert festgelegt und der ausgewählte Wert wird nicht angezeigt. im folgenden CodezeileWie man ausgewählten Wert onChange von react Redux-Form-Drop-down

<Field name="class._id" component="select" className="form-control" onChange={this.onChange.bind(this)} > 
       <option value="">Select class...</option> 
       {this.props.classes.map(Class => 
       <option value={Class._id} key={Class._id} >{Class.name}</option>)} 
</Field> 

hier ist onChange Funktion

onChange(){ 
    console.log(" Triggered") 
    } 

verwenden, wenn ich onChange Ereignis meines Tropfen nicht nach unten Correclty arbeitet gesetzt und es ausgewählten Wert korrekt wieder mit dem richtigen Text. aber ich möchte Funktion aufrufen, wann immer verwenden Sie einen Wert

Antwort

4

Können Sie mehr Kontext für diesen Code geben, vielleicht die gesamte Komponente (und irgendwelche Module oder Container oder was auch immer) in eine JSBin oder Fiddle? Das hilft SO-Plakaten, besser zu wissen, wie Sie helfen können. Das sieht so aus, als ob dein Code korrekt ist. Sie können den Wert aus der ausgewählten Art wie folgt erhalten:

onChange(event) { 
    console.log(event.target.value); 
} 

Hilft das?

+0

danke @jasongonzales, es hat mir geholfen! :) –

0

Vielleicht sollten Sie besser Rex Redox-Felder und Standard-HTML-Elemente verwenden?

const {fields} = this.props 
<select {...fields.class} onChange={this.handleChange}> 
... 

handleChange(event) { 
    // do your stuff 
    this.props.fields.class.onChange(event) 
} 
+0

this.props.fields.class.onChange (event) Diese Zeile zeigt Fehler *** Uncaught TypeError: Kann die Eigenschaft 'onChange' von undefined *** nicht lesen, wenn ich this.props.fields durch Konsole inspiziere. log es Zeige mir folgenden Array von Feldern, weil ich dieses Array in der Komponente für redux form definiert ["title", "betrag", "dueDate", "kategorie", "klasse"] –

+0

Zeigen Sie bitte Ihren vollen Code. Es sollte funktionieren, wenn Sie das Feld "Klasse" definiert haben und den redux-form-Container für die Komponente verwenden. –