lingjieee/fantasy-editor

删除编辑器里所有内容后,输入中文会导致编辑器崩溃

Closed this issue · 9 comments

以这个demo的代码为例子 https://fantasy-editor.jieee.dev/examples/serialize/markdown

我把里面的 value.json 文件的内容修改为了: [{ "type":"paragraph", "children": [{ "text":"" }] }]

目的是让编辑器初始值为空

然后我随便输入一点内容, 接着全选,删除编辑器里所有内容(可能会按下很多次删除键)

然后切换到中文输入法, 输入中文,

然后编辑器就崩溃了(并非每次都崩溃,但概率极大,可能90%的概率)

这是报错信息:

Error: Cannot resolve a Slate point from DOM point: [object Text],1
image
image

我简单的查询了下,和这个 问题有点像 ianstormtaylor/slate#3753

演示视频: https://files.catbox.moe/rwounm.mp4 (视频链接可能失效)

image
这是slate的一个bug,主要是由于中文输入法引起的,老外不存在这个问题,所有这个bug一直没人管
ianstormtaylor/slate#3292
https://www.zhihu.com/question/361228704/answer/937791493

谢谢, 看来短时间内 无法解决呀

谢谢, 看来短时间内 无法解决呀

这个解决方案就是监听compositionstart和compositionend,当start时如果selection是expand状态,则删除节点,可能还需要movepoint的操作,这个就根据需要了

关注,做了一个月 deaft-js,后发现这个,觉得我要换这个了,可是中文这。。。

@stfenjobs @crazyair @baijiahei 你们解决问题了吗?我也是搞slate,能否加个联系方式沟通下,我们搞个 slate 的交流群

1c7 commented

有结论吗?你们怎么解决的?

@Q-Qplus1s 我换了别的编辑器 https://github.com/nhn/tui.editor

1c7 commented

tui.editor 挺一般的,我还提过 PR:nhn/tui.editor#244 (只是说明轻度参与过)

水过一篇博客:2018-8-2 弃用 tui.editor 富文本编辑器的原因
https://1c7.me/2018-8-2-abandon-tui-editor/

仅供参考