I am trying to replace the last insert in Draft.js
For example,
Orignal string -> aaazzz
After inserting 'bbb' in the middle -> aaabbbzzz
Replace last insert by 'ccc' -> aaaccczzz
Replace last insert by 'ddd' -> aaadddzzz
...
One way I thought is saving the insert start point. After inserting, save the end point. Then I can replace the range later
This is my inserting code
const selection1 = editorState.getSelection();
const contentState1 = editorState.getCurrentContent();
const contentState2 = Modifier.insertText(contentState, selection, text);
const editorState2 = EditorState.push(editorState, newContentState);
const selection2 = newEditorState.getSelection();
// here I don't know how to get the range based on selection1 and selection2
I can use
const start = selection1.getStartOffset();
const end = selection2.getEndOffset();
to get two numbers which are start and end points.
Based on the definition of
replaceText(
contentState: ContentState,
rangeToReplace: SelectionState,
text: string,
inlineStyle?: DraftInlineStyle,
entityKey?: ?string
): ContentState
I need get a new selection. How to create the selection using those two numbers OR selection1 and selection2? Is there any function like
createSelection(start, end) // not exist