Switch
<sl-switch> | SlSwitch
Switches allow the user to toggle an option on or off.
<sl-switch>Switch</sl-switch>
This component works with standard <form>
elements. Please refer to the section on
form controls to learn more about form submission and
client-side validation.
Examples
Checked
Use the checked
attribute to activate the switch.
<sl-switch checked>Checked</sl-switch>
Disabled
Use the disabled
attribute to disable the switch.
<sl-switch disabled>Disabled</sl-switch>
Sizes
Use the size
attribute to change a switch’s size.
<sl-switch size="small">Small</sl-switch> <br /> <sl-switch size="medium">Medium</sl-switch> <br /> <sl-switch size="large">Large</sl-switch>
Help Text
Add descriptive help text to a switch with the help-text
attribute. For help texts that contain
HTML, use the help-text
slot instead.
<sl-switch help-text="What should the user know about the switch?">Label</sl-switch>
Custom Styles
Use the available custom properties to change how the switch is styled.
<sl-switch style="--width: 80px; --height: 40px; --thumb-size: 36px;">Really big</sl-switch>
Slots
Name | Description |
---|---|
(default) | The switch’s label. |
help-text
|
Text that describes how to use the switch. Alternatively, you can use the
help-text attribute.
|
Learn more about using slots.
Properties
Name | Description | Reflects | Type | Default |
---|---|---|---|---|
name
|
The name of the switch, submitted as a name/value pair with form data. |
string
|
''
|
|
value
|
The current value of the switch, submitted as a name/value pair with form data. |
string
|
- | |
size
|
The switch’s size. |
|
'small' | 'medium' | 'large'
|
'medium'
|
disabled
|
Disables the switch. |
|
boolean
|
false
|
checked
|
Draws the switch in a checked state. |
|
boolean
|
false
|
defaultChecked
|
The default value of the form control. Primarily used for resetting the form control. |
boolean
|
false
|
|
form
|
By default, form controls are associated with the nearest containing
<form> element. This attribute allows you to place the form control outside of a
form and associate it with the form that has this id . The form must be in the same
document or shadow root for this to work.
|
|
string
|
''
|
required
|
Makes the switch a required field. |
|
boolean
|
false
|
helpText
help-text
|
The switch’s help text. If you need to display HTML, use the help-text slot instead.
|
string
|
''
|
|
validity
|
Gets the validity state object | - | - | |
validationMessage
|
Gets the validation message | - | - | |
updateComplete |
A read-only promise that resolves when the component has finished updating. |
Learn more about attributes and properties.
Events
Name | React Event | Description | Event Detail |
---|---|---|---|
sl-blur |
|
Emitted when the control loses focus. | - |
sl-change |
|
Emitted when the control’s checked state changes. | - |
sl-input |
|
Emitted when the control receives input. | - |
sl-focus |
|
Emitted when the control gains focus. | - |
sl-invalid |
|
Emitted when the form control has been checked for validity and its constraints aren’t satisfied. | - |
Learn more about events.
Methods
Name | Description | Arguments |
---|---|---|
click() |
Simulates a click on the switch. | - |
focus() |
Sets focus on the switch. |
options: FocusOptions
|
blur() |
Removes focus from the switch. | - |
checkValidity() |
Checks for validity but does not show a validation message. Returns true when valid and
false when invalid.
|
- |
getForm() |
Gets the associated form, if one exists. | - |
reportValidity() |
Checks for validity and shows the browser’s validation message if the control is invalid. | - |
setCustomValidity() |
Sets a custom validation message. Pass an empty string to restore validity. |
message: string
|
Learn more about methods.
Custom Properties
Name | Description | Default |
---|---|---|
--width |
The width of the switch. | |
--height |
The height of the switch. | |
--thumb-size |
The size of the thumb. |
Learn more about customizing CSS custom properties.
Parts
Name | Description |
---|---|
base |
The component’s base wrapper. |
control |
The control that houses the switch’s thumb. |
thumb |
The switch’s thumb. |
label |
The switch’s label. |
form-control-help-text |
The help text’s wrapper. |
Learn more about customizing CSS parts.