0
我需要將焦點應用於Draft.js編輯器,並將光標定位在第一行/塊的起始位置。編輯器包含多行/塊。焦點編輯器,位於第一個塊起始處的位置光標
只應用this.refs.editor.focus()
,光標始終位於編輯器中第二個塊/行的起始位置。
使用this question和this issue作爲指南,我試了下面的代碼沒有成功。我懷疑,路過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)
});
}
謝謝 - 確認您的代碼工作。出於某種原因,我不得不在'setTimeout(...,0)'中將調用封裝到'setState'中,但是修改後它似乎正在工作。再次感謝。 – cantera