获取CKEditor 5中当前选定的元素

获取CKEditor 5中当前选定的元素,ckeditor,ckeditor5,Ckeditor,Ckeditor5,我正在创建一个CKEditor 5插件,用于向任意元素添加id属性。我从TextAlternative图像插件中获得了很多灵感(如果你不熟悉它的工作原理,我建议你看一看 我收到以下错误:无法读取null的属性“is” 作为UI类的一部分,我有以下内容: if(!this.\u Isinballon){ 这是一个气球。添加({ 视图:此表单, 位置:GetBalloadPositionData(编辑器) } ); } getBallobLocationData为: /** *返回控制几何图形的定

我正在创建一个CKEditor 5插件,用于向任意元素添加id属性。我从TextAlternative图像插件中获得了很多灵感(如果你不熟悉它的工作原理,我建议你看一看

我收到以下错误:
无法读取null的属性“is”

作为UI类的一部分,我有以下内容:

if(!this.\u Isinballon){
这是一个气球。添加({
视图:此表单,
位置:GetBalloadPositionData(编辑器)
} );
}
getBallobLocationData
为:

/**
*返回控制几何图形的定位选项
*{@link module:ui/panel/balloon/contextualballoon~contextualballoon context balloon}关于
*添加到编辑器内容中的选定元素。
*
*@param{module:core/editor/editor~editor}editor编辑器实例。
*@returns{module:utils/dom/position~Options}
*/
导出函数GetBalloadPositionData(编辑器){
const editingView=editor.editing.view;
const defaultPositions=BalloodPanelView.defaultPositions;
const t=editor.model.document.selection.getSelectedElement();//问题从这里开始
返回{
目标:editingView.domConverter.viewToDom(t),
职位:[
defaultPositions.northArrowSouth,
defaultPositions.northArrowSouthWest,
defaultPositions.NorthArrow东南,
defaultPositions.southArrowNorth,
defaultPositions.southArrowNorthWest,
defaultPositions.southArrowNorthEast
]
};
}
该行:
const t=editor.model.document.selection.getSelectedElement();
是问题的起点。这种获取所选元素的方法是从其他地方获得的,我在许多其他插件中看到过它

我选择了不同的“元素”进行测试,它总是被赋值为
null

完整代码可在分支
feature/addid attributes to elements
上找到@

任何帮助都会很好,蒂亚