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

Join 组合容器

Join 用来把一组操作或输入控件拼成连续整体。当前页面展示基础 children + Join.Item组合写法,同时补充了items 数据驱动入口、根节点自定义和基础状态语义,让工具条、筛选器和紧凑表单更容易组织。

何时使用

  • 需要把按钮、输入框、选择器等控件拼成一个连续分组。
  • 需要在保持 Rue 视觉风格的同时,用更语义化的方式组织工具条和分段选择器。

# 推荐:数据驱动工具条

items 适合快速描述一组顺序稳定的动作,itemClassName 负责公共视觉,单项 className 负责差异。

推荐把公共样式放到 itemClassName,把强调项放到单个 item 的 className。

# 状态与布局

active、disabled、as、wrap、block 可以组合出筛选条、导航条和窄屏换行布局。

API

需要响应式方向时,仍然可以直接在 className 里叠加 lg:join-horizontal 这类类名。

# 基础组合

展示 children + Join.Item 写法,适合自定义程度更高的场景。

# 纵向排列

direction 继续控制 Join 主轴方向,基础用法保持不变。

# 响应式方向

展示基础示例,通过 className 叠加响应式修饰符即可切换方向。

# 混合表单元素

保持当前复杂示例,Join 仍然可以包裹 input、select 和其他额外结构。

new

# 自定义圆角

Join 只负责组合关系,具体圆角和视觉细节仍然交给子项自身控制。

# 按钮化单选组

展示 radio 示例,也可以用 as 继续切到其他标签。

API

Join 当前同时支持组合模式和数据驱动模式,下面分别列出根节点与 Join.Item 的常用能力。

Join

属性说明类型默认值
as指定 Join 根节点标签,默认输出 divany'div'
direction控制 Join 的主轴方向'horizontal' | 'vertical''horizontal'
items数据驱动模式;未传 children 时会自动渲染 Join.Item 列表JoinItemConfig[]-
itemClassName数据驱动模式下,为每个 Join.Item 追加公共 classNamestring-
wrap让 Join 容器支持换行,适合标签筛选或窄屏工具条booleanfalse
block让 Join 根节点撑满容器宽度booleanfalse
className透传给根节点,用于响应式方向和布局覆盖string-
children组合模式内容;存在 children 时优先渲染 childrenany-

Join.Item

属性说明类型默认值
asJoin.Item 的推荐标签别名,和 tag 二选一即可any-
tag基础标签写法,支持 button、input、select 等原生元素any'button'
active为按钮类项追加 btn-active,适合分段选择器booleanfalse
disabled禁用当前项;button 会写入 disabled,a 会补 aria-disabled 语义booleanfalse
href当 as/tag 为 a 时透传链接地址string-
className追加到 join-item 上,通常用来组合 btn、input、select 等视觉类string-
children当前项内容;数据驱动模式也支持用 label 作为内容别名any-

JoinItemConfig

key用于列表稳定渲染
label是数据驱动模式下的内容别名
其余字段使用Join.Item的 props
单项className会和itemClassName自动合并

FAQ

什么时候用 items,什么时候可以写 Join.Item?

如果是一组结构稳定、可以直接由数组描述的操作,优先用items。如果内部包含额外布局、 指示器、嵌套容器或复杂表单结构,可以使用 children + Join.Item会更直接。

as 和 tag 有什么区别?

两者都能切换渲染标签。as是当前推荐写法,适合新的调用方式;tag 展示, 用来支持项目代码和当前示例。

Join 会不会接管按钮尺寸、颜色和圆角?

不会。Join 只负责组合关系和少量容器语义,具体视觉仍然由每个子项自己的 className决定, 这样可以继续保持 Rue 当前的视觉风格和可组合性。

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