2016-06-26 17 views
1

Ich lerne, wie man Meteor mit reagieren, also verzeihen Sie die grundlegende Frage.Meteor Reagieren füllen Formular mit vorhandenen Daten

Ich möchte ein Formular erstellen, das beim Laden der Seite ausgefüllt wird, wenn die Daten bereits gesendet wurden. Ich habe versucht, getInitialState zu verwenden, aber ich komme nirgendwohin. Einige Hilfe würde wirklich geschätzt werden.

Pfad: MyResolutions.jsx

export default class MyResolutions extends Component { 

    getInitialState() { 
     return { 
      resolution: Resolutions.find().fetch(), 
      timeToComplete: Resolutions.find().fetch(), 
     }; 
    } 

    render() { 
     return (
      <form onSubmit={this.addResolutions.bind(this)}> 
       <input 
        type="text" 
        ref="resolution" 
        placeholder="Resolution title" 
        value={this.state.resolution} /> 
       <input 
        type="text" 
        ref="timeToComplete" 
        placeholder="Time To Complete" 
        value={this.state.timeToComplete} /> 

       <button type="submit">Submit</button> 
      </form> 
     ) 
    } 
} 

Antwort

2

Diese auf die Form Ihrer Daten ist abhängig von Ihrem Ausgangszustand kommen:

getInitialState() { 
    return { 
     resolution: Resolutions.find().fetch(), 
     timeToComplete: Resolutions.find().fetch(), 
    }; 
} 

Unter der Annahme, dass this.state.resolution kehrt so etwas wie:

{ 
    value: 'some string' 
} 

Sie müsste eigentlich etwas wiemachen. Versuchen Sie also console.log(this.state.resolution), um die Form Ihrer Daten zu erhalten, und verwenden Sie dann Punktnotation, um die Schlüssel anzuzeigen, die Sie benötigen.

+0

Ok, ich denke, ich muss einen Schritt zurückgehen, weil ich das überhaupt nicht befolge. Es tut uns leid. Könntest du mir in die Richtung eines guten Tut zeigen, das durch Bearbeiten eines ausstehenden Formulars läuft? – bp123

+2

Ihr Problem besteht nicht darin, ein vorhandenes Formular zu bearbeiten, Ihr Problem ist, dass Sie nicht verstehen, was 'this.state.resolution' zurückgibt. Wenn Sie eine Meteor-Sammlung finden, wird ein Objekt zurückgegeben. Wenn Sie "this.state.resolution" in den Wert Ihrer Eingabe senden, wird versucht, ein JavaScript-Objekt zu senden, das von React nicht gerendert werden kann. Sie müssen auf einen der Schlüssel des Objekts zugreifen. – thatgibbyguy

Verwandte Themen