1

我正在为我的项目使用由react-ace包装的ace 编辑器。

如何在需要时销毁所有撤消/重做历史?

我已经尝试过this.aceRef.editor.destroy();(只是对与编辑器绑定的 ref 做出反应),但不幸的是它在某些情况下效果不佳。所以,我只需要清理撤消/重做会话/历史或类似的东西。

有什么解决办法吗?

4

1 回答 1

2

Ace 编辑器实际上有这个reset方法UndoManager

然后您需要将临时存储的 undomanager 分配为基础。

可以这样做:

const { editor } = this.aceRef;
const session = editor.getSession();
const undoManager = session.getUndoManager();
undoManager.reset();
session.setUndoManager(undoManager);
于 2018-04-30T10:46:37.610 回答