Checkbox
Чекбоксы позволяют выбрать один или несколько элементов из набора.
Чекбоксы могут быть использованы для включения или выключения различных опций.
Если у вас есть несколько опций, отображаемых в списке, вы можете сохранить пространство, используя чекбоксы вместо переключателей. Если у вас есть только один вариант, лучше не использовать чекбокс, вместо него используйте переключатель включения / выключения.
<Checkbox {...label} defaultChecked />
<Checkbox {...label} />
<Checkbox {...label} disabled />
<Checkbox {...label} disabled checked />
Checkbox with FormControlLabel
A checkbox input can only have two states in a form: checked or unchecked. It either submits its value or doesn't. Visually, there are actually three states a checkbox can be in: checked, unchecked, or indeterminate.
<FormControlLabel
label="Parent"
control={
<Checkbox
checked={checked[0] && checked[1]}
indeterminate={checked[0] !== checked[1]}
onChange={handleChange1}
/>
}
/>
{children}
<FormGroup>
<FormControlLabel control={<Checkbox defaultChecked />} label="Label" />
<FormControlLabel disabled control={<Checkbox />} label="Disabled" />
</FormGroup>
Расположение метки
FormGroup
- это полезная обертка, используемая для группировки компонентов элементов управления выбором, она предоставляет более простой API.
Customized checkbox
Ниже находится пример кастомизации компонента. 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.
Бесплатно
Доступность
(WAI-ARIA: https://www.w3.org/TR/wai-aria-practices/#checkbox)
- Все элементы формы должны иметь метки, в том числе радиокнопки, переключатели и чекбоксы. В большинстве случаев это делается с помощью элемента
<label>
(FormControlLabel). - Когда метка не может быть использована, необходимо добавить атрибут непосредственно на поле ввода. В этом случае можно применить дополнительный атрибут (например,
aria-label
,aria-labelledby
,title
) через свойствоinputProps
.
<Checkbox
value="checkedA"
inputProps={{ 'aria-label': 'Checkbox A' }}
/>