Toggle
<sf-toggle> — устаревший Smart-компонент: тот же двоичный переключатель с
role="switch", что и Switch. В новой
разметке берите <sf-switch>; эта страница показывает, как перенести на него
разметку Toggle.
Пример
Два Toggle — обычный и kind="short" — после переноса на <sf-switch>:
Применение
Перенос атрибутов
<sf-toggle> |
<sf-switch> |
|---|---|
label, name, value, checked, disabled |
те же атрибуты |
size="1", size="2" |
size="1", size="2"; есть и size="1/2" |
kind="simple" |
без атрибута: это обычный переключатель |
kind="short" |
root-class="sf-switch--short" |
kind="icon" и icon |
у <sf-switch> значка нет; значок в бегунке даёт разметка переключателя |
type — другое имя kind |
как для kind |
| — | description и help для пояснения под подписью |
Дорожки Toggle меньше дорожек Switch той же ступени: после переноса сверьте форму на глаз.
Код и события
Событие change, методы setChecked(), setDisabled(), setState(),
getInputElement() и onChange() у обоих элементов одинаковые, поэтому
обработчики переносятся без правок. Свойство state у <sf-switch> содержит
только checked, disabled, name и value: type, size, icon и label
читайте из атрибутов.
Где работает старая разметка
Выпуск поставляет <sf-toggle>, поэтому уже написанная разметка продолжает
работать. Новую разметку на нём не пишите.
Доступность
- В обоих элементах внутренний input с
role="switch"сообщает экранному диктору, что это переключатель, и его положение; перенос этого не меняет. - Toggle с
kind="icon"без подписи после переноса получает видимыйlabel: значок в бегунке декоративный и имени не даёт. - Переключатель — отдельная остановка
Tab,Spaceменяет положение.
Справочник API
Раздел собран из манифеста компонента выпуска ui-106d5901f8c3 и обновляется вместе с выпуском. Чтобы исправить описание, исправьте манифест.
Каждому атрибуту соответствует свойство элемента с тем же именем в camelCase: search-placeholder — searchPlaceholder. Свойство атрибута template называется templateName.
| Тег | <sf-toggle> |
| Назначение | Устарело: заменено на sf-switch, который рисует тот же элемент управления и поддерживает оба вида Toggle. Компактный переключатель вкл./выкл. (нативный флажок с role=“switch”), сохранённый только для уже написанной разметки; удаляется после 2026-11-01 (запись журнала component-toggle-to-switch). |
| Контракт | smart.toggle, версия 1.0.0 |
| Поставка | выпуск Framework ui-106d5901f8c3 |
| Жизненный цикл | устаревший: замените до удаления |
| Готовность | описан: манифест и сценарий есть, продуктовой приёмки нет |
| Заготовка до прихода кода | нет: атрибут data-sf-skeleton не пишется; своего скелетона при загрузке данных нет (Заготовка до прихода кода) |
Атрибуты
size—string, по умолчанию1, значения:1,2. Токен размера кнопки-переключателя.kind—string, по умолчаниюsimple, значения:simple,icon,short. Содержимое переключателя: ничего, иконка или короткая подпись.label—string, по умолчанию пусто.icon—string, по умолчанию пусто.checked—boolean, по умолчаниюfalse.disabled—boolean, по умолчаниюfalse.name—string, по умолчанию пусто.value—string, по умолчанию пусто.
Прежние имена:
| Имя | Прежнее имя | Состояние | Убирается после |
|---|---|---|---|
kind |
type |
работает, отмечается в SF.deprecations |
2026-12-01 |
Методы
getInputElement()— возвращаетobject|null. Возвращает внутренний нативный input (.sf-toggle input[type=“checkbox”]) или null до отрисовки.setChecked(nextValue?: boolean)— возвращаетobject. Устанавливает свойство и состояние checked внутреннего input; не отправляет change.setDisabled(nextValue?: boolean)— возвращаетobject. Устанавливает или снимает disabled на хост-элементе и внутреннем input.setState(nextState: object)— возвращаетobject. Применяет checked и disabled, а также type, size, icon и label как атрибуты хост-элемента, к внутреннему input и отражает их в атрибутах хост-элемента; до отрисовки использует базовый setState.onChange(handler: function, options?: object|boolean)— возвращаетobject. Добавляет обработчик нативного события change, которое всплывает от внутреннего input.onFocus(handler: function, options?: object|boolean)— возвращаетobject. Добавляет обработчик focusin на хост-элементе.onBlur(handler: function, options?: object|boolean)— возвращаетobject. Добавляет обработчик focusout на хост-элементе.
События
Все события приходят на сам элемент и всплывают. Общие события базового элемента перечислены в главе Жизненный цикл → Этапы.
change—detailне описан. Изменилось нажатое состояние; нативное событие всплывает от внутреннего флажка, который является его целью. Имя для привязки.
Доступность
- Роль: переключатель (
switch). - Доступное имя: обязательно.
- Клавиши:
Tab,Space. - Фокус: Сохраняет видимый фокус на активном элементе управления.
Минимальная разметка
<sf-toggle></sf-toggle>
Источник
simai/ui@106d5901f8c3b4f23131ce0e7ede5dbd8abfe4f4:distr/smart/togglesimai/ui@106d5901f8c3b4f23131ce0e7ede5dbd8abfe4f4:distr/rule/rule.json#name=cl-toggle