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

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


切换内容的时候,让编辑器失去焦点
切换完成后,再重新focus

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

注意:要放在回调函数里


blur 和 focus操作必须由用户触发
1.可以由鼠标click,键盘keydown等操作触发
2.不能由setTimeout或者setInterval触发
3.触发时,不能有其他同步发生的异步请求

第三点非常重要

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值