CKEditor5:防止在输入时将属性复制到新段落



我正在开发一个允许用户将内容注入可编辑内容的项目。 我在段落中添加了一个contentid属性,以便我可以跟踪已添加的内容及其位置。

<p contentid="1">some default content</p> 

从该段落中按 Enter 时,输入的下一个段落也具有contentid="1"属性。 我希望新段落没有contentid属性。

我正在尝试确定如何/在哪里最好地实现这一目标。 我一直在听回车键和schema.addChildCheck,但没有取得太大进展。

这似乎可以解决问题。 也许有点笨拙..但意识到选择始终在新创建的元素中。所以我不需要在回调中找到对它的引用,我可以从当前选择中抓取新段落。

editor.commands.get( 'enter' ).on( 'afterExecute', () => {
const block = first( editor.model.document.selection.getSelectedBlocks() );
editor.model.change( writer => {
writer.removeAttribute( 'contentid', block );
});
});

最新更新