RadioTile — это компонент библиотеки Carbon Components Svelte, предназначенный для создания интерактивных плиток с возможностью выбора только одного варианта из группы. Он особенно полезен для интерфейсов с визуально привлекательным выбором, когда нужно подчеркнуть выбранный вариант через графический стиль плитки, а не стандартный радиокнопочный элемент.
Разбор ключевых элементов:
RadioTileGroup — контейнер, обеспечивающий
взаимную исключаемость выбора плиток. Атрибут bind:value
связывает выбранное значение с переменной.
legend — заголовок группы, который выводится над плитками.
RadioTile — отдельная плитка с атрибутами:
value — уникальное значение плитки, которое будет
присвоено переменной при выборе.label — текст, отображаемый на плитке.disabled для
блокировки плитки.С помощью привязки (bind:value) можно отслеживать
выбранный вариант в переменной. Изменение переменной автоматически
обновляет интерфейс, а выбор плитки обновляет переменную:
Вы выбрали: {selectedValue}
Такое связывание обеспечивает реактивность и позволяет использовать выбранное значение для логики приложения.
RadioTile поддерживает кастомизацию через стандартные классы Carbon:
light — делает плитку светлой для контрастного
фона.disabled — блокирует выбор плитки.class.
В CSS можно расширять стили плиток:
.custom-tile {
border: 2px solid #0f62fe;
border-radius: 8px;
}
children позволяет добавить описание или иконку под
заголовком плитки:
Доступ к расширенным функциям и поддержке 24/7
RadioTileGroup поддерживает стандартные Svelte-события:
on:change — срабатывает при изменении выбора.bind:value обеспечивает реактивное обновление, но
иногда нужно выполнять дополнительные действия: console.log(e.detail.value)}>
e.detail.value возвращает выбранное значение плитки.
Компонент RadioTile полностью соответствует стандартам доступности:
role="radio").role="radiogroup".RadioTile легко интегрируется с другими элементами интерфейса:
Подробности варианта A
#each в Svelte, связывая value с объектами
данных.disabled для временного блокирования
некоторых вариантов.