Остановить отмену () очистки всего в редакторе Quill / Quill JS? - PullRequest
1 голос
/ 09 января 2020

Я создал способ сохранения текста Quill в базу данных. Каждый раз, когда пользователь нажимает на сохраненный документ, он извлекает сохраненный текст Quill из базы данных и отображает его в текстовом редакторе Quill. В этот момент, если я вызову функцию отмены, она удалит ВСЕ текст, извлеченный из базы данных, поэтому страница будет пустой.

Я думаю, что происходит то, что редактор Quill видит извлеченный текст из базы данных как вставку в текстовый редактор, поэтому, когда вы запускаете функцию отмены, он очищает «вставить / извлечь из базы данных». ».

Есть ли способ предотвратить это? Есть ли способ заставить quill НЕ очищать все, когда вы запускаете функцию отмены сразу после извлечения исходного текста из базы данных?

1 Ответ

1 голос
/ 10 января 2020

Когда вы «загружаете» контент из базы данных в редактор, нравится вам это или нет, вы изменяете то, что находится внутри Quill Delta (данные). Любые изменения, внесенные в контент Quill, рассматриваются сами по себе как ... ну ... внесенные изменения, следовательно, могут быть отменены.

[...] Каждый раз, когда пользователь щелкает сохраненный документ, он извлекает сохраненный текст Quill из базы данных и отображает текст в текстовом редакторе Quill. В этот момент, если я вызову функцию отмены, она удалит ВСЕ текст, извлеченный из базы данных, поэтому страница будет пустой. [...] Есть ли способ остановить это? Есть ли способ заставить quill НЕ очищать все, когда вы запускаете функцию отмены сразу после извлечения исходного текста из базы данных?

Так как вы только что добавили контент в Quill, и нет никакого интереса беспокоиться о любые изменения, которые вы внесли ранее, я предлагаю вам взглянуть на this . По сути, идея такова:

  1. Получить содержимое.
  2. Добавить то же самое в редактор.
  3. После того, как добавление выполнено, вызовите следующий код:
quill.history.clear();

После этого при попытке выполнить операцию отмены ничего не произойдет, поскольку история не была сохранена.

...