如何在CKEditor5中的粘贴图像之间自动创建空间?

时间:2018-09-20 12:00:50

标签: ckeditor5

1 个答案:

答案 0 :(得分:0)

要在粘贴的图像之间创建一个空格,您可以register a post fixer,遍历所有根元素,并在彼此相邻的两个图像之间添加一个空的段落。

const model = editor.model;
const doc = editor.model.document;
const root = doc.getRoot();

doc.registerPostFixer( writer => {
    // Iterate from the end to preserve correct positions.
    for ( let i = root.childCount -1 ; i--; i >= 1 ) {
        if ( root.getChild( i ).name === 'image' && root.getChild( i - 1 ).name === 'image' ) {
            const paragraph = writer.createElement( 'paragraph' );
            writer.insert( paragraph, root.getChild( i - 1 ), 'after' );
        }
    }
} );

请注意,要在图像后手动创建一个空段落,可以在选择图像后使用 Enter 。类似地,要在图像之前创建一个段落(如果它是文档中的第一个元素),则可以按 Shift + Enter 。这是一个临时解决方案,您可以在https://github.com/ckeditor/ckeditor5/issues/407中阅读更多内容。