Back to Ant Design

Segmented

components/segmented/index.zh-CN.md

6.3.73.5 KB
Original Source

[email protected] 版本开始提供该组件。

何时使用 {#when-to-use}

  • 用于展示多个选项并允许用户选择其中单个选项;
  • 当切换选中选项时,关联区域的内容会发生变化。

代码演示 {#examples}

<!-- prettier-ignore -->

<code src="./demo/basic.tsx">基本</code> <code src="./demo/vertical.tsx" version="5.21.0">垂直方向</code> <code src="./demo/block.tsx">Block 分段选择器</code> <code src="./demo/shape.tsx" version="5.24.0">胶囊形状</code> <code src="./demo/disabled.tsx">不可用</code> <code src="./demo/controlled.tsx">受控模式</code> <code src="./demo/custom.tsx">自定义渲染</code> <code src="./demo/dynamic.tsx">动态数据</code> <code src="./demo/size.tsx">三种大小</code> <code src="./demo/with-icon.tsx">设置图标</code> <code src="./demo/icon-only.tsx">只设置图标</code> <code src="./demo/with-name.tsx" version="5.23.0">配合 name 使用</code> <code src="./demo/style-class.tsx" version="6.0.0">自定义语义结构的样式和类</code> <code src="./demo/controlled-two.tsx" debug>受控同步模式</code> <code src="./demo/size-consistent.tsx" debug>统一高度</code> <code src="./demo/componentToken.tsx" debug>自定义组件 Token</code>

API

通用属性参考:通用属性

[email protected] 版本开始提供该组件。

Segmented

参数说明类型默认值版本
block将宽度调整为父元素宽度的选项booleanfalse
classNames用于自定义 Segmented 组件内部各语义化结构的 class,支持对象或函数Record<SemanticDOM, string> | (info: { props }) => Record<SemanticDOM, string>-
defaultValue默认选中的值string | number
disabled是否禁用booleanfalse
onChange选项变化时的回调函数function(value: string | number)
options数据化配置选项内容string[] | number[] | SegmentedItemType[][]
orientation排列方向horizontal | verticalhorizontal
size控件尺寸large | medium | smallmedium
styles用于自定义 Segmented 组件内部各语义化结构的行内 style,支持对象或函数Record<SemanticDOM , CSSProperties> | (info: { props }) => Record<SemanticDOM , CSSProperties>-
vertical排列方向,与 orientation 同时存在,以 orientation 优先booleanfalse5.21.0
value当前选中的值string | number
shape形状default | rounddefault5.24.0
nameSegmented 下所有 input[type="radio"]name 属性。若未设置,则将回退到随机生成的名称string5.23.0

SegmentedItemType

属性描述类型默认值版本
className自定义类名string-
disabled分段项的禁用状态booleanfalse
icon分段项的显示图标ReactNode-
label分段项的显示文本ReactNode-
tooltip分段项的工具提示string | TooltipProps-
value分段项的值string | number-

Semantic DOM

<code src="./demo/_semantic.tsx" simplify="true"></code>

主题变量(Design Token){#design-token}

<ComponentTokenTable component="Segmented"></ComponentTokenTable>