C

SplitButton 分裂按钮

通用基础组件

分裂按钮 — Chaos UI 的通用基础组件。

何时使用

需要分裂按钮功能时使用本组件。

代码示例

基础用法

tsx
import { SplitButton } from "@/components/ui/split-button"

export function Basic() {
return <SplitButton />
}

变体

tsx
{/* 展示 variant 变体 */}
<div className="flex flex-wrap items-center gap-3">
<SplitButton variant="default">Default</SplitButton>
<SplitButton variant="destructive">Destructive</SplitButton>
<SplitButton variant="outline">Outline</SplitButton>
<SplitButton variant="secondary">Secondary</SplitButton>
<SplitButton variant="ghost">Ghost</SplitButton>
</div>

尺寸

tsx
{/* 尺寸对照 */}
<div className="flex flex-wrap items-center gap-3">
<SplitButton size="sm">Sm</SplitButton>
<SplitButton size="default">Default</SplitButton>
<SplitButton size="lg">Lg</SplitButton>
</div>

样式变体

尺寸

Size说明默认
default默认尺寸
sm小号
lg大号

变体

Variant说明默认
default默认样式
outline描边样式
ghost幽灵(无背景)样式

变体

Variant说明默认
default默认样式
destructive危险/删除样式
outline描边样式
secondary次要样式
ghost幽灵(无背景)样式

尺寸

Size说明默认
default默认尺寸
sm小号
lg大号

API / Props

SplitButton

PropTypeDefault说明
classNamestring自定义样式类名
labelReact.ReactNodeMain button label
onClick() => voidMain button click handler
itemsSplitButtonItem[]Dropdown menu items
onSelect() => voidCalled when a dropdown item is selected
disabledboolean是否禁用
...restReact.HTMLAttributes透传原生 DOM 属性

注意事项

  • Client Component: 使用 "use client",依赖 React hooks/状态,需在客户端渲染。
  • CVA 变体: 通过 class-variance-authority 管理样式变体,类型安全。变体对象可导出复用。

📘 完整交互式示例与控件属性请查看 Storybook 文档