C

Combobox 组合框

表单控件

结合输入框和下拉列表的组合选择控件,支持自定义输入和选项匹配。

何时使用

需要组合框功能时使用本组件。

代码示例

基础用法

tsx
import { Combobox } from "@chaos_team/chaos-ui/ui"

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

变体

tsx
{/* 展示 variant 变体 */}
<div className="flex flex-wrap items-center gap-3">
<Combobox variant="default">Default</Combobox>
<Combobox variant="outline">Outline</Combobox>
</div>

尺寸

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

状态

tsx
<Combobox>Normal</Combobox>
<Combobox disabled>Disabled</Combobox>

样式变体

变体

Variant说明默认
default默认样式
outline描边样式

尺寸

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

API / Props

Combobox

PropTypeDefault说明
classNamestring自定义样式类名
optionsComboboxOption[]可选项列表
valuestring当前值(受控)
onChange() => void值变化回调
placeholderstringSelect option...占位文本
searchablebooleantrue
emptyMessagestringNo results found.
...restReact.HTMLAttributes透传原生 DOM 属性

注意事项

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

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