我正在开发一个允许用户将内容注入可编辑内容的项目。我在段落中添加了contentid
属性,以便跟踪已添加的内容及其位置。
<p contentid="1">some default content</p>
当从该段落中按下enter时,输入的下一段也具有contentid="1"
属性。我希望新段落不具有contentid
属性。
我试图确定如何/最佳地实现这一目标。我一直在聆听输入键和schema.addChildCheck
,但没有取得多大进展。
答案 0 :(得分:1)
这似乎可以解决问题。也许有点hacky ..但意识到选择总是在新创建的元素中。所以我不需要在回调中找到它的引用,我可以从当前选择中获取新段落。
editor.commands.get( 'enter' ).on( 'afterExecute', () => {
const block = first( editor.model.document.selection.getSelectedBlocks() );
editor.model.change( writer => {
writer.removeAttribute( 'contentid', block );
});
});