Как уничтожить экземпляр Ckeditor 5

Как выгрузить экземпляр Ckeditor 5 из объекта формы? Я могу загрузить его с ClassicEditor.create(). Я нашел метод editor.destroy(), но он не работает. Консоль Javascript говорит: "editor.destroy - это не функция".

Текущий код тестирования:

<button type="button" onclick="ckEditor('load')">Start</button><button type="button" onclick="ckEditor('unload')">Stop</button>
<textarea id="welcomeText" class="form-control" tabindex="21" name="txt_welcomeText" rows="10"><p>This is my welcome text.</textarea>
<script>
   function ckEditor(action) {
      editor = ClassicEditor.create( document.querySelector( '#welcomeText' ) ).catch( error => {console.error( error );});
      if (action == "unload") editor.destroy();
   }
   </script>

С наилучшими пожеланиями,

Джордж

1 ответ

Необходимо получить обещание, чтобы получить экземпляр редактора CKEditor 5.

ClassicEditor.create( element )
   .then( editor => editor.destroy() )
   .catch( err => console.error( err ) ) 

Это сработало для меня:

document.querySelector('.ck-editor__editable').ckeditorInstance.destroy()

Все, что вам нужно сделать, это получить экземпляр, а затем уничтожить его!
.ck-editor__editableэто класс по умолчанию для CKeditor.
Дополнительные объяснения можно найти в официальной документации: https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/basic-api.html#destroying-the-editor

Другие вопросы по тегам