Как обновить Element () в CKEditor 5? - PullRequest
0 голосов
/ 06 июля 2018

Я пытаюсь обновить некоторые инициализированные CKEditors, но это не работает.

В CKEditor 4 это было:

for(var instanceName in CKEDITOR.instances) 
    CKEDITOR.instances[instanceName].updateElement();

Не работает для CKEditor 5.

1 Ответ

0 голосов
/ 06 июля 2018

Мой ответ будет зависеть от ClassicEditor , но он также будет работать с InlineEditor и BalloonEditor .

Функция ClassicEditor.create() возвращает Promise , который будет разрешен с помощью экземпляра редактора. Больше нет глобальных переменных, в которых хранятся созданные редакторы. Смотри https://stackoverflow.com/a/46819396/3388924.

Если вы инициализировали редактор для элемента <textarea> (который должен быть внутри элемента <form>), значение <textarea> будет обновлено автоматически при отправке формы. Вы можете увидеть исходный код .

Конечно, вы можете обновить элемент вручную. См. Метод ClassicEditor.updateElement(). Я также подготовил онлайн демо: https://jsfiddle.net/pomek/k1wp093n/

Имейте в виду, что функция editor.updateElement() в будущем выпуске будет переименована в editor.updateSourceElement(). См ckeditor/ckeditor5-core#129

...