使用高级 Chakra UI 组件,更快地构建 💎

了解更多
跳到内容
文档演练场指南博客
赞助商

分段控制器

用于从一组线性选项中选择一个选项

Storybook配方Ark

用法

import { SegmentGroup } from "@chakra-ui/react"
<SegmentGroup.Root>
  <SegmentGroup.Indicator />
  <SegmentGroup.Item>
    <SegmentGroup.ItemText />
    <SegmentGroup.ItemHiddenInput />
  </SegmentGroup.Item>
</SegmentGroup.Root>

快捷方式

SegmentGroup 组件还提供了一组常用用例的快捷方式。

分段组项

SegmentGroupItems 快捷方式根据 items 属性渲染项目列表。

这可行

<>
  {items.map((item) => (
    <SegmentGroup.Item key={item.value} value={item.value}>
      <SegmentGroup.ItemText>{item.label}</SegmentGroup.ItemText>
      <SegmentGroup.ItemHiddenInput />
    </SegmentGroup.Item>
  ))}
</>

如果您不需要自定义项目,这可能更简洁

<SegmentGroup.Items items={items} />

示例

尺寸

使用 size 属性来更改分段控制器的尺寸。

尺寸 =超小

尺寸 =

尺寸 =

尺寸 =

受控

使用 valueonValueChange 属性来控制选定的项目。

Hook 表单

这是一个如何将 SegmentedControlreact-hook-form 结合使用的示例。

垂直

默认情况下,分段控制器是水平的。将 orientation 属性设置为 vertical 可以更改分段控制器的方向。

禁用

使用 disabled 属性来禁用分段控制器。

禁用项

在项目上使用 disabled 属性来禁用它。

图标

label 渲染为 ReactNode 以渲染图标。

卡片

这是一个在 Card 中使用 SegmentedControl 的示例。

找到您的梦想家园

属性

属性默认值类型
colorPalette '灰色'
'灰色' | '红色' | '橙色' | '黄色' | '绿色' | '青色' | '蓝色' | '深青色' | '紫色' | '粉色'

组件的调色板

size '中'
'超小' | '小' | '中' | '大'

组件的尺寸

asChild
布尔值

使用提供的子元素作为默认渲染元素,结合它们的属性和行为。

欲了解更多详情,请阅读我们的 组合 指南。
defaultValue
字符串

分段组首次渲染时的初始值。当您不需要控制分段组的状态时使用。

disabled
布尔值

如果为 `true`,则单选组将被禁用

form
字符串

底层输入的关联表单。

id
字符串

机器的唯一标识符。

ids
Partial<{ root: string label: string indicator: string item(value: string): string itemLabel(value: string): string itemControl(value: string): string itemHiddenInput(value: string): string }>

单选框中元素的ID。对于组合很有用。

name
字符串

单选框中输入字段的名称(用于表单提交)。

onValueChange
(details: ValueChangeDetails) => void

单选框被选中时调用的函数

orientation
'水平' | '垂直'

单选组的方向

readOnly
布尔值

复选框是否只读

value
字符串

选定单选框的值

上一页

评分

下一页

选择器 (原生)