是因为数据双向绑定导致的,编辑器接收值后会重新渲染编辑器,会导致光标移动到最开头。
解决办法:每次更新前暂存光标位置,然后重新setValue..
// 记录光标位置
const position = this.aceEditor.getCursorPosition();
// 数据重新赋值
this.aceEditor.getSession().setValue(val);
// 清除
this.aceEditor.clearSelection();
// 移动光标到那个位置
this.aceEditor.moveCursorToPosition(position);
aceEditor 为编辑器实例
版权声明:本文为weixin_47237450原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。