简体   繁体   English

Ace编辑。 将当前编辑状态设置为基础

[英]Ace editor. Set current edits state as base

I'm using ace editor wrapped by react-ace for my project. 我在我的项目中使用了由react-ace包装的ace编辑器

How can I destroy all undo/redo history in certain moment when I need it? 在需要时如何在特定时刻销毁所有撤消/重做历史记录?

I've tried this.aceRef.editor.destroy(); 我已经尝试过this.aceRef.editor.destroy(); (just react ref bound with editor), but unfortunately it doesn't play well in some circumstances. (只是对与编辑器绑定的ref做出反应),但不幸的是,在某些情况下它不能很好地发挥作用。 So, I just need to clean undo/redo session/history or something like that. 因此,我只需要清除撤消/重做会话/历史记录或类似内容即可。

Any solution? 有什么办法吗?

Ace editor actually has this reset method with UndoManager . Ace编辑器实际上具有UndoManagerreset方法。

Then you need to assign temporary stored undomanager as base. 然后,您需要分配临时存储的undomanager作为基础。

It could be done smth like that: 可以这样做:

const { editor } = this.aceRef;
const session = editor.getSession();
const undoManager = session.getUndoManager();
undoManager.reset();
session.setUndoManager(undoManager);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM