1. 程式人生 > >draft.js:內容清空之後,游標的位置會錯亂

draft.js:內容清空之後,游標的位置會錯亂

如果編輯器在沒有失焦的情況下(比如, 使用快捷鍵),
清空編輯框內容 ,
替換一個空的editorState,
這時候再輸入內容,游標會出現跑到文字前面去,
以及各種游標錯亂的情況


解決問題的關鍵在於

切換內容的時候,讓編輯器失去焦點

切換完成後,再重新focus

// "domEditor"是編輯器的ref
...
this.domEditor.blur()
this.setState({ editorState: newEditorState }, () => {
    this.domEditor.focus()
})
...

重新focus的時候,要放在回撥函式裡


另,
draft.js:不要使用redux來管理editorState
draft.js:讓游標顯示在最後面