配置与方法
历史版本只在协作模式下生效(需要已启用在线协作,并正确连接服务端)。在线协作相关配置见 多人协作编辑。
默认配置
const defaultOptions = {
collaboration: {
enabled: true,
// ...
},
versions: {
enabled: true,
diffUseUserColor: false,
diffLabelEnabled: true,
diffLabelTemplate: '由"{name}"{action}',
diffIgnoreMarks: ['inlineThread'],
diffIgnoreAttributes: ['id', 'data-thread-id'],
diffExcludeNodeViews: [],
}
}配置项说明
versions.enabled
说明:是否启用历史版本管理功能。关闭后历史版本面板不会展示,版本相关交互也不会生效。
类型:Boolean
默认值:true
versions.diffUseUserColor
说明:在版本对比时,是否使用用户颜色(即 options.user.color)来显示差异。
类型:Boolean
默认值:false
versions.diffLabelEnabled
说明:版本对比时是否展示“差异标签”(用于让读者更快理解变更来源)。
类型:Boolean
默认值:true
versions.diffLabelTemplate
说明:差异标签显示模板(用于对比界面的文案定制)。
类型:String
默认值:由"{name}"{action}
可用占位符:
{name}:创建人展示名{action}:动作描述(例如新增/删除/修改)
versions.diffIgnoreMarks
说明:版本对比时忽略的标记类型。常见用途:忽略评论/批注等非正文信息,避免对比结果被干扰。
类型:String[]
默认值:['inlineThread']
versions.diffIgnoreAttributes
说明:版本对比时忽略的属性字段。常见用途:忽略节点 id、批注等非正文属性,避免对比噪音。
类型:String[]
默认值:['id', 'data-thread-id']
versions.diffExcludeNodeViews
说明:版本对比/预览渲染时要排除的 NodeView(按节点名配置)。常见用途:某些复杂节点(例如表格)在只读预览中依赖宿主环境,可能导致对比不准确,可通过该配置禁用其 NodeView,让预览回退到基础 DOM 序列化输出。
类型:String[]
默认值:[]
常用方法
以下方法由编辑器组件对外暴露(可通过 ref 调用),前提是 versions.enabled !== false 且协作已正常连接。
openVersions
说明:打开文档历史面板。
参数:无
返回值:无
closeVersions
说明:关闭文档历史面板。
参数:无
返回值:无
getVersions
说明:获取版本列表(用于自绘列表或做业务展示)。
参数:无
返回值:Array(版本记录列表;字段以实际返回为准)
补充:版本记录中可能包含 important 字段,用于标记“重要版本”(见 快速开始)。
getCurrentVersion
说明:获取当前版本信息和文档内容。
参数:无
返回值:Object
getVersion
说明:获取指定版本信息和文档内容。
参数:
name:Number,版本号。
返回值:Object
saveVersion
说明:创建一个新版本。
参数:
name:String,版本名称。
返回值:Boolean(是否成功发起请求)
clearVersions
说明:清除所有版本并重置当前版本号(谨慎使用,适合管理端/调试场景)。
参数:无
返回值:Boolean