Switch (переключатель)
Переключатели изменяют состояние одного отдельного параметра между "включено" и "выключено".
Переключатели – предпочтительный способ установки параметров на мобильных устройствах. Опция, которую контролирует переключатель, и её состояние должны быть четко описаны в соответствующей метке.
Переключатель с FormControlLabel
Switch can be provided with a description thanks to the FormControlLabel component.
Переключатели с FormGroup
FormGroup - это полезная обертка, используемая для группировки компонентов элементов управления выбором, она предоставляет более простой API. FormGroup - это полезная обертка, используемая для группировки компонентов элементов управления выбором, она предоставляет более простой API. (See: When to use).
Кастомизация переключателей
Ниже находятся примеры кастомизации компонента. You can learn more about this in the overrides documentation page.
🎨 If you are looking for inspiration, you can check MUI Treasury's customization examples.
Размеры
Fancy smaller switches? Use the size prop.
<FormGroup>
<FormControlLabel
control={<Switch size="small" checked={checked} onChange={toggleChecked} />}
label="Small"
/>
<FormControlLabel
control={<Switch checked={checked} onChange={toggleChecked} />}
label="Normal"
/>
</FormGroup>Бесплатно
Доступность
- У элемента будет роль
checkbox, а неswitch, так как эта роль пока слабо поддерживается. Если вы хотите использовать рольswitch, пожалуйста, сперва проверьте что вспомогательные технологии вашей целевой аудитории её поддерживают. После этого вы можете изменить роль<Switch inputProps={{ role: 'switch' }}> - Все элементы формы должны иметь метки, в том числе радиокнопки, переключатели и чекбоксы. В большинстве случаев это делается с помощью элемента
<label>(FormControlLabel). - Когда метка не может быть использована, необходимо добавить атрибут непосредственно на поле ввода. В этом случае можно применить дополнительный атрибут (например,
aria-label,aria-labelledby,title) через свойствоinputProps.
<Switch value="checkedA" inputProps={{ 'aria-label': 'Switch A' }} />