安装“跟踪更改”扩展
Paid add-on
安装并配置 Tracked Changes 扩展,按照本指南操作。
安装
npm install @tiptap-pro/extension-tracked-changes基本设置
import { Editor } from '@tiptap/core'
import { TrackedChanges } from '@tiptap-pro/extension-tracked-changes'
const editor = new Editor({
extensions: [
TrackedChanges.configure({
enabled: true,
userId: 'user-123',
userMetadata: { name: 'John Doe' },
}),
],
})设置
enabled
启用或禁用跟踪更改模式。启用时,所有编辑都会变成建议,而不是直接更改。
默认值:false
TrackedChanges.configure({
enabled: true,
})userId
当前进行建议的用户 ID。应来自您的身份验证系统。
默认值:'anonymous'
TrackedChanges.configure({
userId: 'user-123',
})userMetadata
关于当前用户的任意元数据,作为 JSON 可序列化对象存储在每个建议中。用于存储显示名称、头像或其他自定义数据,无需单独的用户存储。
默认值:null
TrackedChanges.configure({
userId: 'user-123',
userMetadata: {
name: 'John Doe',
avatar: 'https://example.com/avatar.jpg',
role: 'editor',
},
})suggestionGroupingTimeout
用于分组相邻建议的时间窗口(毫秒)。如果用户在此时间窗口内对同一区域进行连续编辑,建议将合并为一个。设置为 0 禁用分组。
默认值:2000
TrackedChanges.configure({
suggestionGroupingTimeout: 3000,
})onSuggestionCreate
创建新建议时触发的回调。接收包含 id、type、userId、createdAt、from、to 和 text 的建议对象。
默认值:undefined
TrackedChanges.configure({
onSuggestionCreate: (suggestion) => {
console.log('New suggestion created:', suggestion)
// 更新你的界面,通知其他用户等。
},
})onSuggestionAccept
接受建议时触发的回调。接收建议 ID。
默认值:undefined
TrackedChanges.configure({
onSuggestionAccept: (id) => {
console.log('Suggestion accepted:', id)
},
})onSuggestionReject
拒绝建议时触发的回调。接收建议 ID。
默认值:undefined
TrackedChanges.configure({
onSuggestionReject: (id) => {
console.log('Suggestion rejected:', id)
},
})