editablejs / editable

🌱 A collaborative rich-text editor framework that focuses on stability, controllability, extensibility, and performance. 一款强到离谱的富文本编辑器框架,专注于稳定性、可控性、扩展性和性能。
https://docs.editablejs.com
Apache License 2.0
1.79k stars 120 forks source link

如何实现一个基本的保存和读取功能? #141

Closed davidliudev closed 11 months ago

davidliudev commented 11 months ago

需要实现一个最基本的保存文本和读取功能。 我不太需要做序列化(html或者md),直接保存raw data的json实例就可以。

没有找到文档。。。

editor.value一直为空,另外读取的时候设置EditableProvider的value也不好使。。。

davidliudev commented 11 months ago

看起来可以通过读 editor.children 来获取到当前编辑器的内容

保存这块应该是没问题了。目前我直接去拿editor.children然后再保存json即可了。 那如何load呢?

big-camel commented 11 months ago

https://github.com/editablejs/editable/blob/main/apps/docs/src/pages/playground.tsx#L361

<EditableProvider editor={editor} value={initialValue}>
davidliudev commented 11 months ago

看到这块code但是这个只是init的时候有效果,在运行过程中如果setValue不好使。

最后通过下面方法解决了:

  1. 先用Transforms.delete删除所有nodes
  2. Transforms.insertNodes重新插入新的nodes