Draft.js エディターにフォーカスを適用し、カーソルを最初の行/ブロックの先頭に配置する必要があります。エディターには複数の行/ブロックが含まれています。
適用されるだけthis.refs.editor.focus()
で、カーソルは常にエディター内の 2 番目のブロック/行の先頭に配置されます。
この質問とこの問題をガイドとして使用して、以下のコードを試しましたが成功しませんでした。に渡すblockMap
のcreateFromBlockArray()
は正しくないと思われます:
focusTopLine() {
this.refs.editor.focus();
const { editorState } = this.state;
const contentState = editorState.getCurrentContent();
const selectionState = editorState.getSelection();
const blockMap = contentState.getBlockMap();
const newContentState = ContentState.createFromBlockArray(blockMap);
const newEditorState = EditorState.createWithContent(newContentState);
this.setState({
editorState: EditorState.forceSelection(newEditorState, selectionState)
});
}