Switch

A control that allows the user to toggle between checked and not checked.

Features

  • Full keyboard navigation.
  • Can be controlled or uncontrolled.

Installation

Install the component from your command line.

cargo add radix-leptos-switch

Anatomy

Import all parts and piece them together.

use leptos::*;
use radix_leptos_switch::*;

#[component]
fn Anatomy() -> impl IntoView {
    view! {
        <Switch>
            <SwitchThumb />
        </Switch>
    }
}

API Reference

Root

Contains all the parts of a switch. An input will also render when used within a form to ensure events propagate correctly.

PropTypeDefault
as_childMaybeProp<bool>false
default_checkedMaybeProp<bool>-
checkedMaybeProp<bool>-
on_checked_changeOption<Callback<bool>>-
disabledMaybeProp<bool>-
requiredMaybeProp<bool>-
nameMaybeProp<String>-
valueMaybeProp<String>"on"
Data attributeValues
[data-state]"checked" | "unchecked"
[data-disabled]Present when disabled

Thumb

The thumb that is used to visually indicate whether the switch is on or off.

PropTypeDefault
as_childMaybeProp<bool>false
Data attributeValues
[data-state]"checked" | "unchecked"
[data-disabled]Present when disabled

Accessibility

Adheres to the switch role requirements.

Keyboard Interactions

KeyDescription
SpaceToggles the component's state.
EnterToggles the component's state.

See Also