王牌编辑器。将当前编辑状态设置为基础

Ace editor. Set current edits state as base

我正在为我的项目使用 ace editor wrapped by react-ace

如何在我需要的某个时刻销毁所有undo/redo历史记录?

我试过this.aceRef.editor.destroy();(只是对编辑器绑定的 react ref),但不幸的是它在某些情况下效果不佳。 所以,我只需要清理 undo/redo session/history 或类似的东西。

有什么解决办法吗?

A​​ce 编辑器实际上有这个 reset 方法 UndoManager

然后你需要将临时存储的undomanager指定为base。

也可以这样做:

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