R后悔药 Rue.js
  • 首页
    • 深度指南
    • 实战例子
    • 快速上手
    • 路由指南
    • 术语表
    • 错误代码参考
  • API
    • 合作伙伴
    • 插件
    • 组件库
    • 工具链
    • Text.js
    • 新闻简报
    • 常见问题
    • 团队
    • 版本发布
    • 社区指南
    • 行为规范
    • 隐私政策
  • 赞助
  • 合作伙伴
设置
目录统计
总条目
  • 按钮 Button
  • 排版 Typography
  • 时间选择器 TimePicker
  • 下拉菜单 Dropdown
  • 悬浮操作按钮 FAB
  • 模态框 Modal
  • 切换 Swap
  • 主题控制器 Theme Controller
  • 手风琴 Accordion
  • 头像 Avatar
  • 徽标 Badge
  • 卡片 Card
  • 轮播 Carousel
  • 聊天气泡 Chat
  • 折叠面板 Collapse
  • 倒计时 Countdown
  • 描述列表 Descriptions
  • 对比 Diff
  • 二维码 QRCode
  • 悬浮 3D 卡片 Hover 3D
  • 悬浮画廊 Hover Gallery
  • 键盘提示 Kbd
  • 列表 List
  • 统计 Stat
  • 状态 Status
  • 表格 Table
  • 文本轮播 Text Rotate
  • 时间线 Timeline
  • 锚点 Anchor
  • 固钉 Affix
  • 面包屑 Breadcrumbs
  • 底部导航 Dock
  • 链接 Link
  • 菜单 Menu
  • 导航栏 Navbar
  • 分页 Pagination
  • 步骤 Steps
  • 选项卡 Tabs
  • 提示 Alert
  • 结果页 Result
  • 空状态 Empty
  • 加载 Loading
  • 全局提示 Message
  • 进度条 Progress
  • 环形进度 Radial Progress
  • 骨架屏 Skeleton
  • 通知提醒框 Notification
  • 轻提示 Toast
  • 气泡确认框 Popconfirm
  • 气泡卡片 Popover
  • 工具提示 Tooltip
  • 日历 Calendar
  • 颜色选择器 ColorPicker
  • 复选框 Checkbox
  • 字段集 Fieldset
  • 表单 Form
  • 文件输入 File Input
  • 筛选器 Filter
  • 标签 Label
  • 单选框 Radio
  • 范围选择 Range
  • 评分 Rating
  • 分段选择 Segmented
  • 自动完成 AutoComplete
  • 选择器 Select
  • 树选择 TreeSelect
  • 树控件 Tree
  • 提及输入 Mentions
  • 穿梭框 Transfer
  • 漫游引导 Tour
  • 输入框 Input
  • 数字输入 InputNumber
  • 文本域 Textarea
  • 开关 Toggle
  • 校验器 Validator
  • 分隔线 Divider
  • 弹性布局 Flex
  • 分割面板 Splitter
  • 抽屉侧边栏 Drawer
  • 页脚 Footer
  • 栅格 Grid
  • 瀑布流 Masonry
  • 布局 Layout
  • 主视觉区 Hero
  • 指示器 Indicator
  • 组合项 Join
  • 蒙版 Mask
  • 水印 Watermark
  • 间距 Space
  • 堆叠 Stack
  • 浏览器样机 Mockup Browser
  • 代码样机 Mockup Code
  • 手机样机 Mockup Phone
  • 窗口样机 Mockup Window
目录统计
总条目
  • 按钮 Button
  • 排版 Typography
  • 时间选择器 TimePicker
  • 下拉菜单 Dropdown
  • 悬浮操作按钮 FAB
  • 模态框 Modal
  • 切换 Swap
  • 主题控制器 Theme Controller
  • 手风琴 Accordion
  • 头像 Avatar
  • 徽标 Badge
  • 卡片 Card
  • 轮播 Carousel
  • 聊天气泡 Chat
  • 折叠面板 Collapse
  • 倒计时 Countdown
  • 描述列表 Descriptions
  • 对比 Diff
  • 二维码 QRCode
  • 悬浮 3D 卡片 Hover 3D
  • 悬浮画廊 Hover Gallery
  • 键盘提示 Kbd
  • 列表 List
  • 统计 Stat
  • 状态 Status
  • 表格 Table
  • 文本轮播 Text Rotate
  • 时间线 Timeline
  • 锚点 Anchor
  • 固钉 Affix
  • 面包屑 Breadcrumbs
  • 底部导航 Dock
  • 链接 Link
  • 菜单 Menu
  • 导航栏 Navbar
  • 分页 Pagination
  • 步骤 Steps
  • 选项卡 Tabs
  • 提示 Alert
  • 结果页 Result
  • 空状态 Empty
  • 加载 Loading
  • 全局提示 Message
  • 进度条 Progress
  • 环形进度 Radial Progress
  • 骨架屏 Skeleton
  • 通知提醒框 Notification
  • 轻提示 Toast
  • 气泡确认框 Popconfirm
  • 气泡卡片 Popover
  • 工具提示 Tooltip
  • 日历 Calendar
  • 颜色选择器 ColorPicker
  • 复选框 Checkbox
  • 字段集 Fieldset
  • 表单 Form
  • 文件输入 File Input
  • 筛选器 Filter
  • 标签 Label
  • 单选框 Radio
  • 范围选择 Range
  • 评分 Rating
  • 分段选择 Segmented
  • 自动完成 AutoComplete
  • 选择器 Select
  • 树选择 TreeSelect
  • 树控件 Tree
  • 提及输入 Mentions
  • 穿梭框 Transfer
  • 漫游引导 Tour
  • 输入框 Input
  • 数字输入 InputNumber
  • 文本域 Textarea
  • 开关 Toggle
  • 校验器 Validator
  • 分隔线 Divider
  • 弹性布局 Flex
  • 分割面板 Splitter
  • 抽屉侧边栏 Drawer
  • 页脚 Footer
  • 栅格 Grid
  • 瀑布流 Masonry
  • 布局 Layout
  • 主视觉区 Hero
  • 指示器 Indicator
  • 组合项 Join
  • 蒙版 Mask
  • 水印 Watermark
  • 间距 Space
  • 堆叠 Stack
  • 浏览器样机 Mockup Browser
  • 代码样机 Mockup Code
  • 手机样机 Mockup Phone
  • 窗口样机 Mockup Window

Diff 对比

Diff 现在除了保持组合式结构,还补上一套更顺手的快捷 API。可以直接传内容和位置值,也可以用Diff.Item1、Diff.Item2、Diff.Resizer自己拼装。

何时使用

  • 需要比较两个版本、两套视觉稿或两段内容,并让用户自己拖动查看差异。
  • 想要一个更轻的 API,直接传左右内容和默认位置,而不是每次都手写三段结构。

# 增强写法

直接用 item1、item2、item1Label、item2Label 和 resizerContent 就能得到可拖动的对比区域。

Rue Cloud
Ship design changes with one source of truth
聚焦深色界面和强对比 CTA,强调协作与发布节奏。
Publish fasterTeam sync
Rue Cloud
Design review feels calmer and more editorial
同一套信息结构,但把密度降下来,强调留白、节奏和可读性。
Clear sections
Softer contrast
Readable text
Stable hierarchy
V1 V2
new
快捷模式下内部会自动生成拖动层,键盘聚焦后也能直接调整位置。

# 受控位置

value 和 onChange 可以把 Diff 变成受控组件,适合和外部滑杆、表单或讲解步骤联动。

当前值 38
Old palette
RUE
New palette
RUE
Before After
sync

# 只读模式

disabled 会保持当前可视结果,但不再允许拖动,适合说明文档、快照回顾或固定审稿视角。

Dense Comfort
lock
固定为 62%,用来展示最终审稿视角。

# 图片对比

组合式写法示例。

daisy
daisy

# 文本对比

语义 API 不是替代,而是补充。

DAISY
DAISY

API

Diff 现在同时支持快捷模式和组合式模式,下面按根组件和子组件拆开列出。

属性说明类型默认值
item1快捷模式下的左侧内容any-
item2快捷模式下的右侧内容any-
item1Label左侧角标文案或节点any-
item2Label右侧角标文案或节点any-
resizerContent手柄中央的自定义内容any-
value受控位置值,仅快捷模式生效number-
defaultValue非受控初始位置,仅快捷模式生效number50
min最小值,仅快捷模式生效number0
max最大值,仅快捷模式生效number100
step步进值,仅快捷模式生效number1
onChange拖动或键盘调整时回调当前值(value: number, event: Event) => void-
disabled禁用快捷模式拖动能力booleanfalse
children传入子节点后优先使用组合式结构any-
属性说明类型默认值
Diff.Item1左侧内容区,支持 role、tabIndex、label 和 stylecomponent-
Diff.Item2右侧内容区,支持 role、tabIndex、label 和 stylecomponent-
Diff.Resizer分隔条,可继续自定义 className、style 和 childrencomponent-
tabIndex组合结构模式下继续透传到根节点number-
模式选择建议
item1 / item2适合快速搭示例、做受控联动、补标签和默认手柄内容。
children + Diff.Item1 / Item2 / Resizer 适合保持组合结构,或自己完全掌控内部布局。

FAQ

快捷模式和组合式模式怎么选?

如果你只是想比较两个内容块,优先用item1和item2。如果你已经有现成结构, 或者需要完全接管内部节点顺序,就可以用组合式写法。

value 和 defaultValue 有什么区别?

value是受控值,外部状态说了算;defaultValue 只决定初始位置,之后由组件内部维护。

传了 children 之后 value 还会生效吗?

当前组件里,children会切换到组合式模式,因此value、defaultValue这些快捷模式能力不会接管内部布局。需要受控拖动时,优先使用item1/ item2。

页内导航
页内导航
文档
  • 深度指南
  • 实战例子
  • 快速上手
  • 术语表
  • 错误码参照表
关于
  • 常见问题
  • 团队
  • 版本发布
  • 社区指南
生态
  • 插件
  • 组件库
  • 路由指南
  • Text.js
© 2024-2026 Xiangmin Liu
Rue.JS