2017-11-15 3 views
0

Wenn ich das Formular (onSubmit) speichern, bekomme ich diesen Fehler: Sie übergeben das delta Objekt aus dem onChange Ereignis zurück als value. Sie möchten wahrscheinlich editor.getContents() stattdessen.React-Quill - ERROR Wahrscheinlich wollen Sie `editor.getContents()` stattdessen

Der Rest des Skripts läuft gut und schreibt alles wie erwartet in die Datenbank, aber React-Quill löst den Fehler aus und legt die Seite auf.

Was muss ich tun, um editor.getContents() zu definieren?

export default class CreateDiscussionForm extends Component { 
constructor(props){ 
super(props); 
this.state = { 
    error: '', 
    editorHtml: '' 
}; 
this.handleChange = this.handleChange.bind(this); 
} 

handleChange (html) { 
this.setState({ editorHtml: html }); 
} 

onSubmit(e) { 
var background = this.state.editorHtml; 
console.log('background', background); //<p>testing</p> 
//... rest of code 



<ReactQuill 
    name="editor" 
    theme={'snow'} 
    ref="comment" 
    onChange={this.handleChange} 
    value={this.state.editorHtml} 
    modules={quillModules} 
    placeholder="add the discussion background (optional)" 
/> 

Vielen Dank im Voraus - Bob

+0

Derzeit habe ich auch das gleiche Problem, nicht in der Lage, '.getContents()' zu verwenden –

Antwort

0

Nicht sicher, warum Quill den Anfangswert als Delta-Wurzel interpretiert, aber ich löste diese Warnung durch eine Null-Zeichenfolge wie folgt übergeben:

<ReactQuill 
    name="editor" 
    onChange={this.handleChange} 
    value={this.state.editorHtml || ''} 
/> 

Der Fehler führt zu hier btw: https://github.com/zenoamaro/react-quill#using-deltas Und das ist eine erweiterte Beschreibung dessen, was Quill deltas interpretiert: https://quilljs.com/docs/delta/ (im Grunde, deltas sind Änderungen gespeichert im JSON-Format, und sie werden getrennt von der Feder behandelt, was bedeutet, dass es eine externe Bibliothek ist)