阻止 undo() 清除编辑器 Quill / QuillJS 中的所有内容?

Pag*_*COW 2 quill

我创建了一种将 Quill 文本保存到数据库的方法。每次用户单击已保存的文档时,它都会从数据库中提取已保存的 Quill 文本,并将该文本显示在 Quill 文本编辑器中。此时,如果我触发撤消功能,它将删除从数据库中提取的所有文本,因此页面为空白。

我认为发生的情况是 Quill 编辑器将从数据库中提取的文本视为粘贴到文本编辑器中,因此当您触发撤消功能时,它会清除“从数据库粘贴/提取”。

有没有办法阻止这种情况发生?当您从数据库中提取初始文本后立即触发撤消功能时,有没有办法使 quill 不清除所有内容?

Loa*_*Loa 6

当您将数据库中的内容“加载”到编辑器中时,无论您是否喜欢,您都在更改 Quill Delta 内部的内容(数据)。对 Quill 内容所做的任何更改本身都被视为……嗯……所做的更改,因此是可以撤消的。

[...] 每次用户单击已保存的文档时,它都会从数据库中提取已保存的 Quill 文本,并将该文本显示在 Quill 文本编辑器中。此时,如果我触发撤消功能,它将删除从数据库中提取的所有文本,因此页面为空白。[...] 有办法阻止这种情况发生吗?当您从数据库中提取初始文本后立即触发撤消功能时,有没有办法使 quill 不清除所有内容?

由于您刚刚向 Quill 添加了内容,并且没有兴趣担心之前所做的任何更改,因此我建议您看一下此内容。基本上,这个想法是:

  1. 获取内容。
  2. 将相同的内容添加到编辑器中。
  3. 添加完成后,调用以下代码:
quill.history.clear();
Run Code Online (Sandbox Code Playgroud)

之后,当尝试执行撤消操作时,不会发生任何事情,因为没有存储历史记录。