draft.js:内容清空之后,光标的位置会错乱

如果编辑器在没有失焦的情况下(比如, 使用快捷键),
清空编辑框内容 ,
替换一个空的editorState,
这时候再输入内容,光标会出现跑到文字前面去,
以及各种光标错乱的情况


解决问题的关键在于

切换内容的时候,让编辑器失去焦点

切换完成后,再重新focus

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

重新focus的时候,要放在回调函数里


另,
draft.js:不要使用redux来管理editorState
draft.js:让光标显示在最后面

猜你喜欢

转载自blog.csdn.net/sinat_24070543/article/details/80387181
今日推荐