停止在编辑器Quill / QuillJS中清除undo()吗?

问题描述 投票:0回答:1

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

我认为正在发生的事情是,鹅毛笔编辑器将从数据库中拉出的文本视为粘贴到文本编辑器中,因此,当您触发撤消功能时,它将清除“从数据库中粘贴/拉出”。

是否有办法阻止这种情况的发生?从数据库中提取初始文本后立即触发撤消功能时,是否有一种方法可以使笔芯不清除所有内容?

quill
1个回答
0
投票

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

[...]每次用户单击保存的文档时,它都会拉出保存的文档来自数据库的笔芯文本,并且该文本出现在笔芯中文本编辑器。在这一点上,如果我触发撤消功能,它将删除从数据库中提取的所有文本,因此页面为空白。[...]有没有办法阻止这种情况的发生?有没有办法触发撤消功能时,请不要删除所有内容从数据库中提取初始文本后立即开始吗?

由于您只是向Quill添加内容,而不必担心之前所做的任何更改,因此建议您查看this。基本上,这个想法是:

  1. 获取内容。
  2. 将其添加到编辑器。
  3. 添加完成后,调用以下代码:
quill.history.clear();

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

© www.soinside.com 2019 - 2024. All rights reserved.