Quill.js: при регистрации PlainClipboard содержимое исходного редактора теряет все форматы
PlainClipboard
Показанный в документе очень полезен, когда мы хотим, чтобы Quill очищал все форматы при вставке контента (например, копирование с веб-страниц). Но если мы зарегистрируем этот модуль как 'modules/clipboard'
любые форматы в исходном контейнере редактора также будут удалены:
<div id="editor-container">
<ol><li>1</li><li>2</li><li>3</li></ol>
</div>
потому что исходный контент также обрабатывается convert()
функция, когда редактор инициализирован. Чтобы обойти это, я использовал флаг, чтобы указать, является ли это инициализацией редактора или обычным вставлением пользователя:
var quill_initializing = true;
class PlainClipboard extends Clipboard {
convert(html = null) {
if (quill_initializing) {
quill_initializing = false;
return super.convert(html);
} else {
if (typeof html === 'string') {
this.container.innerHTML = html;
}
let text = this.container.innerText;
this.container.innerHTML = '';
return new Delta().insert(text);
}
}
}
Это работает для Quill 1.3.1, но после обновления до Quill 1.3.2 этот подход перестает работать.
Есть ли способ это исправить?