pub struct Switch { /* private fields */ }Expand description
Toggle between true and false.
Commonly used for enabled/disabled scenarios.
Example: light/dark theme.
fn app() -> impl IntoElement {
let mut toggled = use_state(|| false);
Switch::new()
.toggled(toggled())
.on_toggle(move |_| toggled.toggle())
}§Preview
| Toggled | Not Toggled |
|---|---|
Implementations§
Source§impl Switch
impl Switch
pub fn new() -> Self
pub fn toggled(self, toggled: impl Into<Readable<bool>>) -> Self
pub fn on_toggle(self, on_toggle: impl Into<EventHandler<()>>) -> Self
pub fn enabled(self, enabled: impl Into<bool>) -> Self
pub fn layout_variant( self, layout_variant: impl Into<SwitchLayoutVariant>, ) -> Self
pub fn theme_colors(self, theme: SwitchColorsThemePartial) -> Self
pub fn theme_layout(self, theme: SwitchLayoutThemePartial) -> Self
Sourcepub fn expanded(self) -> Self
pub fn expanded(self) -> Self
Shortcut for Self::layout_variant and SwitchLayoutVariant::Expanded.
Sourcepub fn cursor_icon(self, cursor_icon: impl Into<CursorIcon>) -> Self
pub fn cursor_icon(self, cursor_icon: impl Into<CursorIcon>) -> Self
Override the cursor icon shown when hovering over this component while enabled.
Trait Implementations§
Source§impl Component for Switch
impl Component for Switch
fn render(self: &Switch) -> impl IntoElement
fn render_key(&self) -> DiffKey
impl StructuralPartialEq for Switch
Source§impl SwitchColorsThemePartialExt for Switch
impl SwitchColorsThemePartialExt for Switch
fn background(self, background: impl Into<Color>) -> Self
fn thumb_background(self, thumb_background: impl Into<Color>) -> Self
fn toggled_background(self, toggled_background: impl Into<Color>) -> Self
fn toggled_thumb_background( self, toggled_thumb_background: impl Into<Color>, ) -> Self
fn focus_border_fill(self, focus_border_fill: impl Into<Color>) -> Self
Source§impl SwitchLayoutThemePartialExt for Switch
impl SwitchLayoutThemePartialExt for Switch
fn margin(self, margin: impl Into<Gaps>) -> Self
fn width(self, width: f32) -> Self
fn height(self, height: f32) -> Self
fn padding(self, padding: f32) -> Self
fn thumb_size(self, thumb_size: f32) -> Self
fn toggled_thumb_size(self, toggled_thumb_size: f32) -> Self
fn pressed_thumb_size_offset(self, pressed_thumb_size_offset: f32) -> Self
fn thumb_offset(self, thumb_offset: f32) -> Self
fn toggled_thumb_offset(self, toggled_thumb_offset: f32) -> Self
Auto Trait Implementations§
impl !RefUnwindSafe for Switch
impl !Send for Switch
impl !Sync for Switch
impl !UnwindSafe for Switch
impl Freeze for Switch
impl Unpin for Switch
impl UnsafeUnpin for Switch
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> ComponentKey for Twhere
T: Component,
impl<T> ComponentKey for Twhere
T: Component,
fn default_key(&self) -> DiffKey
Source§impl<T> ComponentProps for T
impl<T> ComponentProps for T
fn changed(&self, other: &(dyn ComponentProps + 'static)) -> bool
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more