К содержимому
uiify

Segmented control

Ряд сегментов для выбора ровно одного варианта.

Браузеры
Chrome 123+Firefox 121+Safari 17.5+
Уровень
0
Сжатый размер
995 B
Лимит принудительной компоновки
0 ms
Лимит axe
0
Совместим с SSR
Да
На основе
elements/choice
Публичный контракт
Тестовый стенд

Песочница

Segmented Control

По умолчанию

API

SegmentedControl

СвойствоТипПо умолчаниюОписание
id*string—Основа детерминированных идентификаторов и общего имени группы radio.
items*readonly SegmentedControlItem[]—Каждый пункт имеет вид { value, label, disabled? }.
defaultValuestring | undefined—Выбранное значение при первом рендеринге. Неуправляемое, поэтому сохраняется без JavaScript.
valuestring—Управляемое значение SegmentedControlClient.
onValueChange(value: string) => void—Обратный вызов изменения в SegmentedControlClient.
disabledbooleanfalseОтключает все сегменты и помечает группу атрибутом data-disabled.
aria-label / aria-labelledbystring—Доступное название radiogroup; задайте его, если у группы нет видимой подписи.
orientation"horizontal" | "vertical""horizontal"Направление расположения сегментов.
fullWidthbooleanfalseЗадаёт data-full-width корню, чтобы сегменты растянулись на весь контейнер.
classNamestring—Класс корня группы.

Клавиатура

КлавишаДействие
TabПеревести фокус на группу
Arrow keysПеремещаться между сегментами
SpaceВыбрать сегмент в фокусе

Доступность

Нативная radiogroup с одиночным выбором на основе скрытых полей radio. Для управляемого поведения value/onValueChange используйте SegmentedControlClient.

Привязка стилей

data-partdata-disableddata-full-width