ckEditor5插入内容,网上的方法都是:
1 | editor.model.change( writer => { |
2 | editor.model.insertContent( writer.createText( '[Insert]' ) ); |
但是,这个方法是在change里面,实际上插入,未必在change里面。例如在编辑器之外插入,而非toolbar里,此时,就不好放change里面了。经查看官方封装的一些插件,可以有下面方法:
1 | const html = '<img src="./images/1.jpg" /><img src="./images/2.jpg" /><img src="./images/3.jpg" />' |
2 | const model = editor.model |
3 | const viewFragment = editor.data.processor.toView(html) |
4 | const modelFragment = editor.data.toModel(viewFragment) |
5 | model.insertContent(modelFragment) |
当然,如果要替换编辑器里的内容,只需要改最后一行:
1 | model.insertContent(modelFragment, model.createRangeIn(model.document.getRoot())) |