Auswahl nach einer Mutation verlieren

Ich mache einige knifflige Mutationen in editorState und verliere die Auswahl.

Ich muss den aktuellen Text () holen, mit einer magischen Bibliothek in HTML umwandeln und ihn zurück in editorState konvertieren. Das funktioniert gut, es ist nur die Auswahl, die so schwer bricht.

Right now, ich versuche, die Auswahl am ersten Anfang zu bekommen und dann ein @ zu machforceSelection, schlägt jedoch mit einem Fehler im Zusammenhang mit @ feselection.hasFocus() (das scheint nicht wirklich verwandt zu sein ...).

Ich vermute, ich muss die "neue" Auswahl basierend auf Ankern und Versätzen berechnen, bin mir aber nicht sicher, welche Ideen ich dazu habe?

Im Moment sieht mein Code so aus:

// onChangeHandler:

const currentContentState = editorState.getCurrentContent()
const selectionState = editorState.getSelection()

const plainHtml = magicOperation(currentContentState.getPlainText())

const currentContentBlocks = convertFromHTML(plainHtml)
const contentState = ContentState.createFromBlockArray(currentContentBlocks)

const newEditorState = EditorState.createWithContent(contentState)

this.setState({
  editorState: EditorState.forceSelection(
    newEditorState,
    selectionState
  )
})

Ist ein Hack, ich weiß, ich spiele nur an DraftJS herum. Wenn ich das schaffe, würde ich definitiv einen Decorator verwenden, um HTML in den editorState einzufügen.

Vielen Dank für Ihre Zeit

Antworten auf die Frage(2)

Ihre Antwort auf die Frage