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

Splitter 分割面板

Splitter 在 Rue 里不是一条简单的分隔线,而是一套适合工作台、配置台和双栏内容区的布局行为层。 它使用 Rue Design 当前的柔和卡片气质和 3px 分隔条视觉,同时补上可拖拽、受控尺寸、垂直布局、lazy 拖拽和双击重置这些常用能力。

何时使用

  • 需要左右或上下两个工作区同时存在,并允许用户按内容密度自己调节比例。
  • 需要把筛选区、编辑区、预览区、日志区这类不同角色的面板拆开,但仍保持同一个页面上下文。
  • 需要在布局层提供受控重置和 lazy 拖拽,而不是只做静态栅格分栏。

推荐用法

下面每个 JSX 示例都保持了完整结构,方便直接复制到页面组件里使用。

# Basic workspace split

最基础的双栏写法,默认比例、最小值和最大值都在 Panel 上声明。

Navigation
把目录、资源树或查询条件放在左侧。
Overview
Metrics
Deployments
Editor
右侧保持完整内容区,适合表单、文档或分析结果。
这里是主工作区。拖动中间的 handle,可以把左右空间分配给导航和正文。

# Controlled sizes and reset

受控模式适合和按钮、预设布局、权限开关联动。

Filters
受控模式下,这一栏可以被外部按钮锁定或重置。
等待拖拽
Results
右栏跟随 onResize 返回值同步,适合持久化工作台布局。
受控尺寸:38% / 62%

# Vertical split

上下分栏适合 dashboard 顶部概览 + 底部明细、编辑区 + 日志区这类结构。

Summary
顶部保持关键指标和状态总览。
Success 18
Queued 4
Running 2
Details
底部用来承接更长的列表、表格或日志。
这里可以放明细列表、数据表格、执行日志,或者任何比顶部更“长”的内容。

# Multiple panels and double click reset

多面板场景里,双击分隔柄常常比额外按钮更顺手。

双击任意分隔柄可重置
Sources
左侧资源树或文档大纲。
Editor
中间主编辑区通常需要最大的宽度。
Preview
右侧实时预览或审阅信息。

# Lazy drag for analysis view

lazy 模式更适合重内容布局,拖动过程先预览位置,释放后再真正提交尺寸。

拖拽时只移动 handle,释放后才提交尺寸
Analysis
左侧适合放图表、规则或输入参数。
Strategy setup
Output
右侧接收结果、日志或建议列表。
Insight A
Insight B
Insight C

API

Splitter 的根组件负责布局和交互,所有真正参与计算的子节点都应该是 Splitter.Panel。 如果你在业务里需要把布局状态持久化,优先使用 size+onResize的受控写法;如果只需要默认占比,用defaultSize即可。

属性说明类型默认值
orientation / layout / vertical控制分割方向;推荐用 orientation,vertical 作为别名保持。'horizontal' | 'vertical' / boolean'horizontal'
lazy开启后拖拽期间只移动分隔柄,释放鼠标时才真正提交面板尺寸。booleanfalse
onResizeStart / onResize / onResizeEnd拖拽开始、拖拽中、拖拽结束的回调,统一返回当前所有面板尺寸。(sizes: number[]) => void-
onDraggerDoubleClick双击分隔柄时触发,适合和“重置布局”联动。(index: number) => void-
Splitter.Panel size受控尺寸,支持像素数值或百分比字符串。number | string-
Splitter.Panel defaultSize非受控初始尺寸,常用于两栏默认占比。number | string-
Splitter.Panel min / max限制面板最小值和最大值,防止拖拽过界。number | string-
Splitter.Panel resizable禁用相邻分隔柄的拖拽能力,但保持布局结构。booleantrue
页内导航
页内导航
文档
  • 深度指南
  • 实战例子
  • 快速上手
  • 术语表
  • 错误码参照表
关于
  • 常见问题
  • 团队
  • 版本发布
  • 社区指南
生态
  • 插件
  • 组件库
  • 路由指南
  • Text.js
© 2024-2026 Xiangmin Liu
Rue.JS