2022-04-11 11:13:16 +08:00
|
|
|
|
---
|
|
|
|
|
category: Components
|
2022-11-09 12:28:04 +08:00
|
|
|
|
group: Data Display
|
2022-04-11 11:13:16 +08:00
|
|
|
|
title: Segmented
|
2024-03-22 14:22:42 +08:00
|
|
|
|
description: Display multiple options and allow users to select a single option.
|
2024-01-29 14:50:36 +08:00
|
|
|
|
cover: https://mdn.alipayobjects.com/huamei_7uahnr/afts/img/A*XJR2TbS1aaQAAAAAAAAAAAAADrJ8AQ/original
|
|
|
|
|
coverDark: https://mdn.alipayobjects.com/huamei_7uahnr/afts/img/A*-9tSSoO_MkIAAAAAAAAAAAAADrJ8AQ/original
|
2022-11-09 12:28:04 +08:00
|
|
|
|
demo:
|
|
|
|
|
cols: 2
|
2022-04-11 11:13:16 +08:00
|
|
|
|
---
|
|
|
|
|
|
2024-03-22 14:22:42 +08:00
|
|
|
|
This component is available since `antd@4.20.0`.
|
2022-04-11 11:13:16 +08:00
|
|
|
|
|
|
|
|
|
## When To Use
|
|
|
|
|
|
|
|
|
|
- When displaying multiple options and user can select a single option;
|
|
|
|
|
- When switching the selected option, the content of the associated area changes.
|
|
|
|
|
|
2022-11-09 12:28:04 +08:00
|
|
|
|
## Examples
|
|
|
|
|
|
2022-11-17 17:31:26 +08:00
|
|
|
|
<!-- prettier-ignore -->
|
2022-11-09 12:28:04 +08:00
|
|
|
|
<code src="./demo/basic.tsx">Basic</code>
|
2024-09-18 23:22:51 +08:00
|
|
|
|
<code src="./demo/vertical.tsx" version="5.21.0">Vertical Direction</code>
|
2022-11-09 12:28:04 +08:00
|
|
|
|
<code src="./demo/block.tsx">Block Segmented</code>
|
2023-12-13 15:34:17 +08:00
|
|
|
|
<code src="./demo/disabled.tsx">Disabled</code>
|
2022-11-09 12:28:04 +08:00
|
|
|
|
<code src="./demo/controlled.tsx">Controlled mode</code>
|
|
|
|
|
<code src="./demo/custom.tsx">Custom Render</code>
|
|
|
|
|
<code src="./demo/dynamic.tsx">Dynamic</code>
|
|
|
|
|
<code src="./demo/size.tsx">Three sizes of Segmented</code>
|
|
|
|
|
<code src="./demo/with-icon.tsx">With Icon</code>
|
|
|
|
|
<code src="./demo/icon-only.tsx">With Icon only</code>
|
|
|
|
|
<code src="./demo/controlled-two.tsx" debug>Controlled Synced mode</code>
|
|
|
|
|
<code src="./demo/size-consistent.tsx" debug>Consistent height</code>
|
2023-05-18 22:21:53 +08:00
|
|
|
|
<code src="./demo/componentToken.tsx" debug>Custom component token</code>
|
2022-11-09 12:28:04 +08:00
|
|
|
|
|
2022-04-11 11:13:16 +08:00
|
|
|
|
## API
|
|
|
|
|
|
2023-08-08 18:27:48 +08:00
|
|
|
|
Common props ref:[Common props](/docs/react/common-props)
|
|
|
|
|
|
2022-04-11 11:13:16 +08:00
|
|
|
|
> This component is available since `antd@4.20.0`
|
|
|
|
|
|
|
|
|
|
| Property | Description | Type | Default | Version |
|
|
|
|
|
| --- | --- | --- | --- | --- |
|
|
|
|
|
| block | Option to fit width to its parent\'s width | boolean | false | |
|
|
|
|
|
| defaultValue | Default selected value | string \| number | | |
|
|
|
|
|
| disabled | Disable all segments | boolean | false | |
|
2022-04-23 21:00:05 +08:00
|
|
|
|
| onChange | The callback function that is triggered when the state changes | function(value: string \| number) | | |
|
2024-08-03 11:49:19 +08:00
|
|
|
|
| options | Set children optional | string\[] \| number\[] \| SegmentedItemType\[] | [] | |
|
2023-02-01 10:11:53 +08:00
|
|
|
|
| size | The size of the Segmented. | `large` \| `middle` \| `small` | `middle` | |
|
2024-09-18 23:22:51 +08:00
|
|
|
|
| vertical | Orientation | boolean | `false` | 5.21.0 |
|
2022-04-11 11:13:16 +08:00
|
|
|
|
| value | Currently selected value | string \| number | | |
|
2023-04-11 10:25:24 +08:00
|
|
|
|
|
2024-08-03 11:49:19 +08:00
|
|
|
|
### SegmentedItemType
|
|
|
|
|
|
2024-09-18 23:22:51 +08:00
|
|
|
|
|
2024-08-03 11:49:19 +08:00
|
|
|
|
| Property | Description | Type | Default | Version |
|
|
|
|
|
| --- | --- | --- | --- | --- |
|
|
|
|
|
| label | Display text for Segmented item | ReactNode | - | |
|
|
|
|
|
| value | Value for Segmented item | string \| number | - | |
|
|
|
|
|
| icon | Display icon for Segmented item | ReactNode | - | |
|
|
|
|
|
| disabled | Disabled state of segmented item | boolean | false | |
|
|
|
|
|
| className | The additional css class | string | - | |
|
|
|
|
|
|
2023-04-11 10:25:24 +08:00
|
|
|
|
## Design Token
|
|
|
|
|
|
|
|
|
|
<ComponentTokenTable component="Segmented"></ComponentTokenTable>
|