Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在为我的项目使用由react-ace包装的ace 编辑器。
如何在需要时销毁所有撤消/重做历史?
我已经尝试过this.aceRef.editor.destroy();(只是对与编辑器绑定的 ref 做出反应),但不幸的是它在某些情况下效果不佳。所以,我只需要清理撤消/重做会话/历史或类似的东西。
this.aceRef.editor.destroy();
有什么解决办法吗?
Ace 编辑器实际上有这个reset方法UndoManager。
reset
UndoManager
然后您需要将临时存储的 undomanager 分配为基础。
可以这样做:
const { editor } = this.aceRef; const session = editor.getSession(); const undoManager = session.getUndoManager(); undoManager.reset(); session.setUndoManager(undoManager);