版本对比界面先说明在比较同一对象的哪两个版本,以及哪份是旧、哪份是新,再按字段对齐内容,用文字和符号区分新增、删除与修改。比较摘要应能定位到具体差异,空值、无权查看和无法比较也要分别表达。看到了变化,并不意味着用户已经执行回滚或覆盖。
以供应商“青禾办公”的资料v3与v4为例,采购负责人需要确认联系人、结算周期、服务地区和附件发生了什么变化。用Pixso界面设计与协作组织这张比较页,可以在实现字段比较逻辑之前,先让业务人员判断信息是否读得懂。

先选对对象和比较方向
页面顶部保留供应商名称,并显示“v3 → v4”。版本选择器除了版本号,还应提供可识别的时间或变更摘要,让用户知道为什么选择它。只写“旧版”和“新版”,到了第二次修改就难以追溯。
交换两个版本会改变新增与删除的含义,因此交换动作后应同步更新方向、标签和摘要。若不允许任意比较,应在选择时解释限制;选择同一版本时则说明没有可比较的变化,不应显示一张像加载失败的空白表。
版本名与对象名也不能互相替代。两个供应商的资料即使结构相同,也不是同一对象的历史版本。若产品还支持跨对象比较,应单独定义入口和用途,不让用户在一个控件里无意切换任务。
同一行比较同一种信息
在Pixso中建立v3与v4两列对照:联系人从周宁改为陈晓,结算周期从30天改为45天,服务地区增加华南,旧报价附件被移除。每一行保留字段名,并用文字标出修改、新增或删除,而不是只染成不同颜色。

| 字段 | v3 | v4 | 变化 |
|---|---|---|---|
| 联系人 | 周宁 | 陈晓 | 修改 |
| 结算周期 | 30天 | 45天 | 修改;单位一起显示 |
| 服务地区 | 华东 | 华东、华南 | 新增华南,华东保持 |
| 旧报价附件 | 报价2025.pdf | 已移除 | 删除 |
并排布局适合字段结构一致、需要同时看前后值的页面。窄屏可以改为一个字段下依次显示原值与新值,仍保持成对阅读。不要把整份旧记录放在屏幕上半部、新记录放在很远的下半部,迫使用户靠记忆对照。
数据字段的对应关系应依靠稳定的字段身份,而不是只看显示名称。字段从“联系人”改名为“业务联系人”,可能只是名称调整,也可能连含义一起变化,需要业务规则决定。如果无法确认对应关系,应标为结构变化或不可直接比较,不要制造一个看似精确的差异。
空白、删除和没有权限,不能使用同一个横线
“原来没填,现在填写”与“原值被清空”方向不同。可以写“未填写 → 华南”或“周宁 → 已清空”,让用户知道两端状态。零、空字符串和未设置也可能有不同业务含义,例如评分为0不能被当成没有评分。
当前账号无权查看某字段时,应明确显示当前无法查看,不能把遮蔽的值参与可见差异比较,再泄露它是否改变。旧版有权限、新版失去权限的情况同样需要按实际授权处理,不能因为是历史记录就自动放开。
附件的变化要确定比较对象:是附件新增或移除、文件名称变化,还是文件内容变化。只有文件名不同,并不能证明内容不同;如果应用没有内容比较能力,就展示能够确定的附件变更,不用一张预览图暗示已经检查所有内容。
多值字段不要把换顺序误报为删改
服务地区如果表示一个无顺序的集合,“华东、华南”与“华南、华东”可能没有业务变化。对这类字段,应把新增地区和移除地区标出来,而不是按第一个、第二个位置逐项比较,制造两处假的修改。
如果顺序本身有意义,例如供应商候选优先级,就需要单独标记移动。联系方式、分支机构等重复记录还需要稳定的识别方式;只按姓名匹配可能遇到同名,只按行号匹配则会把插入一行后的所有内容误判为改变。
长文本可以在段落内强调修改片段,但仍提供完整上下文。连续多行被省略时说明省略范围,并允许展开;不要为了压缩版面把读者判断变化原因所需的整句话都隐藏。
摘要帮助找差异,原记录帮助判断影响
顶部可以显示“2项修改、1项新增、1项删除”,并提供只看变化的选项。这里的统计单位要说明是字段、条目还是文本片段;一个服务地区字段里新增两个地区,不应在不同位置时而算一项、时而算两项。
点击摘要应定位到对应行,并让高亮在滚动后仍可理解。只看变化时,保留供应商名称和必要分组标题,避免出现一串脱离对象的数字。切回全部字段后,也尽量保留刚才的位置。
回滚、恢复某个字段或将旧值复制到当前记录,是会改变数据的独立任务。如果页面提供这些动作,需要再次说明范围、冲突与后果;不能让“查看v3”按钮顺便把当前资料改回v3。
业务记录对比看的是字段与状态。设计交付中要说明改了哪些界面,可参考设计变更说明的写法;需要查截图中的布局差异,则使用视觉回归的检查方法。把三种任务分清,比较页才不会给出超出自身能力的结论。