# Component/Control/SegmentedControl
> Props: component-control-segmentedcontrol.props.txt
## Examples
### Base
```tsx
{
render: args => {
return ;
}
}
```
### Controlled
```tsx
{
render: () => {
const [value, setValue] = useState('2');
const handleChange = (value: string) => {
setValue(value);
};
const handleButtonClick = () => {
const index = items.findIndex(({
value: itemValue
}) => value === itemValue);
setValue(items[(index + 2) % items.length].value);
};
return
;
}
}
```
### Disabled
```tsx
{
render: args => {
return ;
},
args: {
disabled: true
}
}
```
### Disabled Checked
```tsx
{
args: {
items: items.map(item => ({
...item,
disabled: item.value === '2'
}))
},
render: args => {
const [value, setValue] = useState('2');
const [isDisabled, setIsDisabled] = useState(true);
const handleChange = (value: string) => {
setValue(String(value));
};
const toggleDisabled = () => {
setIsDisabled(!isDisabled);
};
return
;
}
}
```
### Disabled Item
```tsx
{
render: args => {
return ;
},
args: {
items: items.map(item => ({
...item,
disabled: item.value === '2' || item.value === '4',
disabledTooltip: item.value === '2' ? '비활성 아이템입니다.' : undefined
}))
}
}
```
### Full Width
```tsx
{
render: args => {
return ;
},
args: {
width: 'fill'
}
}
```
### Icon Only
```tsx
{
args: {
items: items.map(({
value,
icon
}) => ({
value,
icon
}))
},
render: args => {
return
;
}
}
```
### Icon Only With Tooltip
```tsx
{
args: {
items: items.map(({
label,
value,
icon
}) => ({
value,
icon,
tooltip: label
}))
},
render: args => {
return
;
}
}
```
### Icon Only With Tooltip With Disabled
```tsx
{
args: {
items: items.map(({
label,
value,
icon
}) => ({
value,
icon,
tooltip: label
}))
},
render: args => {
return
;
},
args: {
items: items.map(({
label,
value,
icon
}) => ({
value,
icon,
tooltip: label,
disabled: value === '4' || value === '5',
disabledTooltip: value === '4' ? '비활성 아이템입니다.' : undefined
}))
}
}
```
### No Default Value
```tsx
{
render: args => {
return ;
},
render: args => {
const [value, setValue] = useState(undefined);
const [updated_at, setUpdatedAt] = useState(undefined);
const handleChange = (value: string) => {
setValue(value);
};
const toggleDisabled = () => {
if (value) {
setValue(undefined);
setUpdatedAt(Date.now());
} else {
setValue('2');
}
};
return
;
}
}
```
### No Icon
```tsx
{
args: {
items: items.map(({
label,
value
}) => ({
label,
value
}))
},
render: args => {
return
;
}
}
```
### Size
```tsx
{
render: args =>
}
```