如何在CKEditor 5中更新updateElement()?

时间:2018-07-06 04:33:28

标签: ckeditor5

我正在尝试更新一些初始化的CKEditor,但是它不起作用。

在CKEditor 4中,它是:

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

不适用于CKEditor 5。

1 个答案:

答案 0 :(得分:1)

我的答案取决于ClassicEditor,但也可以与InlineEditorBalloonEditor一起使用。

ClassicEditor.create()函数返回一个Promise,它将由编辑器实例解析。不再包含保存已创建的编辑器的全局变量。参见https://stackoverflow.com/a/46819396/3388924

如果您在<textarea>元素(应在<form>元素内)上初始化编辑器,则<textarea>的值将在提交表单时自动更新。您可以看到source code

当然,您可以手动更新元素。请参见ClassicEditor.updateElement()方法。我还准备了一个在线演示:https://jsfiddle.net/pomek/k1wp093n/

请记住,将来版本中的editor.updateElement()函数将重命名为editor.updateSourceElement()。参见ckeditor/ckeditor5-core#129