FormControlLabel API
Demos
For examples and details on the usage of this React component, visit the component demo pages:
Import
import FormControlLabel from '@mui/material/FormControlLabel';
// or
import { FormControlLabel } from '@mui/material';Drop-in replacement of the Radio, Switch and Checkbox component.
Use this component if you want to display an extra label.
Props
Props of the native component are also available.
| Name | Type | Default | Description | 
|---|---|---|---|
| control* | element | A control element. For instance, it can be a  Radio, a Switch or a Checkbox. | |
| checked | bool | If  true, the component appears selected. | |
| classes | object | Override or extend the styles applied to the component. See CSS API below for more details.  | |
| componentsProps | { typography?: object } | {} | The props used for each slot inside.  | 
| disabled | bool | If  true, the control is disabled. | |
| disableTypography | bool | If  true, the label is rendered as it is passed without an additional typography node. | |
| inputRef | ref | Pass a ref to the  input element. | |
| label | node | A text or an element to be used in an enclosing label element.  | |
| labelPlacement | 'bottom' | 'end' | 'start' | 'top'  | 'end' | The position of the label.  | 
| onChange | func | Callback fired when the state is changed. Signature: function(event: React.SyntheticEvent) => voidevent: The event source of the callback. You can pull out the new checked state by accessing event.target.checked (boolean). | |
| slotProps | { typography?: object } | {} | The props used for each slot inside.  | 
| sx | Array<func | object | bool> | func | object  | The system prop that allows defining system overrides as well as additional CSS styles. See the `sx` page for more details.  | |
| value | any | The value of the component.  | 
The
ref is forwarded to the root element.Theme default props
You can useMuiFormControlLabel to change the default props of this component with the theme.CSS
| Rule name | Global class | Description | 
|---|---|---|
| root | .MuiFormControlLabel-root | Styles applied to the root element. | 
| labelPlacementStart | .MuiFormControlLabel-labelPlacementStart | Styles applied to the root element if labelPlacement="start". | 
| labelPlacementTop | .MuiFormControlLabel-labelPlacementTop | Styles applied to the root element if labelPlacement="top". | 
| labelPlacementBottom | .MuiFormControlLabel-labelPlacementBottom | Styles applied to the root element if labelPlacement="bottom". | 
| disabled | .Mui-disabled | State class applied to the root element if disabled={true}. | 
| label | .MuiFormControlLabel-label | Styles applied to the label's Typography component. | 
| error | .Mui-error | State class applied to the root element if error={true}. | 
You can override the style of the component using one of these customization options:
- With a global class name.
 - With a rule name as part of the component's 
styleOverridesproperty in a custom theme.