为了实现拖拽素材内容可以自动添加到正在编辑的文本中,需要获取光标所在位置,加入内容后,光标要能够恢复到正确位置中
代码如下:
// manacoeditor 为 实例对象
// 1 获取光标位置
const position = manacoeditor.getposition()
const inserttext = '要插入的内容'
// 2 插入
manacoeditor.executeedits('', [
{
range: new manaco.range(position.linenumber,
position.column,
position.linenumber,
position.column),
text: inserttext
}
])
// 3 设置新的光标位置
manacoeditor.setposition(position.linenumber, position.column + inserttext.length)
// 4 聚焦
manacoeditor.focus()
如果单纯只是 使用setposition(),是无法回显闪动的光标的,因为拖拽的时候 编辑器已经失去了焦点,所以还要加一步 focus(),保证编辑器重新聚焦。
发表评论