pub struct CheckboxButtonProps {Show 13 fields
pub id: String,
pub name: Option<String>,
pub value: Option<String>,
pub checked: bool,
pub disabled: bool,
pub label: String,
pub children: Element,
pub color: Color,
pub outline: bool,
pub size: Size,
pub autocomplete: Option<String>,
pub class: String,
pub onchange: Option<EventHandler<FormEvent>>,
/* private fields */
}Expand description
Bootstrap checkbox toggle button (btn-check).
Bootstrap 5.3’s “Checkbox toggle buttons”: a visually hidden checkbox paired
with a <label class="btn …"> whose for targets it. The label is what the
user sees and clicks; the checkbox holds the state and submits the value.
This is a Bootstrap component in its own right, not a styled
Checkbox — the markup, the classes and the CSS that drives them are
different.
The id is required rather than optional: the for/id pair is the
mechanism. A toggle whose ids do not match renders correctly and does
nothing when clicked, which is the worst kind of broken.
§Bootstrap HTML → Dioxus
| HTML | Dioxus |
|---|---|
<input class="btn-check" type="checkbox" id="c1"><label class="btn btn-primary" for="c1">Mute</label> | CheckboxButton { id: "c1", label: "Mute" } |
<label class="btn btn-outline-secondary btn-sm" …> | CheckboxButton { id: "c1", color: Color::Secondary, outline: true, size: Size::Sm, … } |
rsx! {
CheckboxButton { id: "mute", label: "Mute", checked: true }
CheckboxButton { id: "wide", label: "Wide", color: Color::Secondary, outline: true }
}Fields§
§id: StringThe input’s id and the label’s for target. Required: the pair is what
makes the label toggle the input.
name: Option<String>Optional name, for when several toggles submit under one form field.
value: Option<String>The value submitted when checked.
checked: boolWhether the toggle is on.
disabled: boolDisable the control.
label: StringThe visible text, rendered after any children.
children: ElementRich label content (a leading icon, say), rendered inside the label
before label.
color: ColorButton colour variant.
outline: boolUse the outline style.
size: SizeButton size.
autocomplete: Option<String>Bootstrap’s own examples set autocomplete="off" so a browser does not
restore a stale toggle state on reload. Left unset by default so the
rendered attributes match the markup being ported rather than silently
adding one.
class: StringAdditional CSS classes, appended to the label’s button classes.
onchange: Option<EventHandler<FormEvent>>Change handler, fired on the input.
Implementations§
Source§impl CheckboxButtonProps
impl CheckboxButtonProps
Sourcepub fn builder() -> CheckboxButtonPropsBuilder<((), (), (), (), (), (), (), (), (), (), (), (), (), ())>
pub fn builder() -> CheckboxButtonPropsBuilder<((), (), (), (), (), (), (), (), (), (), (), (), (), ())>
Create a builder for building CheckboxButtonProps.
On the builder, call .id(...), .name(...)(optional), .value(...)(optional), .checked(...)(optional), .disabled(...)(optional), .label(...)(optional), .children(...)(optional), .color(...)(optional), .outline(...)(optional), .size(...)(optional), .autocomplete(...)(optional), .class(...)(optional), .onchange(...)(optional), .attributes(...)(optional) to set the values of the fields.
Finally, call .build() to create the instance of CheckboxButtonProps.
Trait Implementations§
Source§impl Clone for CheckboxButtonProps
impl Clone for CheckboxButtonProps
Source§fn clone(&self) -> CheckboxButtonProps
fn clone(&self) -> CheckboxButtonProps
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more