撤销/重做扩展
此扩展提供撤销和重做支持。对文档的所有更改将被记录,并可以通过 undo 删除。被撤销的更改可以再次通过 redo 应用。
如果您不打算使编辑器具有协作功能,则应仅整合此扩展。协作扩展具有自己的撤销/重做支持,因为人们通常不希望撤销他人所做的更改。
安装
npm install @tiptap/extensions用法
import { Editor } from '@tiptap/core'
import { UndoRedo } from '@tiptap/extensions'
new Editor({
extensions: [UndoRedo],
})设置
depth
收集的历史事件数量,超过此数量后,最旧的事件将被丢弃。
默认值: 100
UndoRedo.configure({
depth: 10,
})newGroupDelay
更改之间的延迟,在此之后应开始一个新组(以毫秒为单位)。当更改不相邻时,总是会开始一个新组。
默认值: 500
UndoRedo.configure({
newGroupDelay: 1000,
})命令
undo()
撤销最后一次更改。
editor.commands.undo()redo()
重做最后一次更改。
editor.commands.redo()快捷键
| 命令 | Windows/Linux | macOS |
|---|---|---|
| undo() | Control + Z 或 Control + я | Cmd + Z 或 Cmd + я |
| redo() | Shift + Control + Z 或 Control + Y 或 Shift + Control + я | Shift + Cmd + Z 或 Cmd + Y 或 Shift + Cmd + я |
源代码
packages/extensions/src/undo-redo/
最小安装
import { Editor } from '@tiptap/core'
import { UndoRedo } from '@tiptap/extensions/undo-redo'
new Editor({
extensions: [UndoRedo],
})