mirror of
https://github.com/adoyle0/thaw.git
synced 2025-02-08 19:03:09 -05:00
feat: checkbox prop change
This commit is contained in:
parent
c6d7a77eaa
commit
1e8f9fb3cf
3 changed files with 9 additions and 9 deletions
|
@ -7,21 +7,21 @@ use prisms::highlight_str;
|
||||||
|
|
||||||
#[component]
|
#[component]
|
||||||
pub fn CheckboxPage() -> impl IntoView {
|
pub fn CheckboxPage() -> impl IntoView {
|
||||||
let checked = create_rw_signal(false);
|
let value = create_rw_signal(false);
|
||||||
let value = create_rw_signal(HashSet::new());
|
let value = create_rw_signal(HashSet::new());
|
||||||
view! {
|
view! {
|
||||||
<div style="width: 896px; margin: 0 auto;">
|
<div style="width: 896px; margin: 0 auto;">
|
||||||
<h1>"Checkbox"</h1>
|
<h1>"Checkbox"</h1>
|
||||||
<Demo>
|
<Demo>
|
||||||
<Checkbox checked>"Click"</Checkbox>
|
<Checkbox value>"Click"</Checkbox>
|
||||||
<DemoCode
|
<DemoCode
|
||||||
slot
|
slot
|
||||||
html=highlight_str!(
|
html=highlight_str!(
|
||||||
r#"
|
r#"
|
||||||
let checked = create_rw_signal(false);
|
let value = create_rw_signal(false);
|
||||||
|
|
||||||
view! {
|
view! {
|
||||||
<Checkbox checked>
|
<Checkbox value>
|
||||||
"Click"
|
"Click"
|
||||||
</Checkbox>
|
</Checkbox>
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,5 +32,5 @@ pub fn CheckboxItem(
|
||||||
item_key.get_value()
|
item_key.get_value()
|
||||||
};
|
};
|
||||||
|
|
||||||
view! { <Checkbox checked>{label}</Checkbox> }
|
view! { <Checkbox value=checked>{label}</Checkbox> }
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,7 +15,7 @@ use leptos::*;
|
||||||
|
|
||||||
#[component]
|
#[component]
|
||||||
pub fn Checkbox(
|
pub fn Checkbox(
|
||||||
#[prop(optional, into)] checked: MaybeRwSignal<bool>,
|
#[prop(optional, into)] value: MaybeRwSignal<bool>,
|
||||||
children: Children,
|
children: Children,
|
||||||
) -> impl IntoView {
|
) -> impl IntoView {
|
||||||
let theme = use_theme(Theme::light);
|
let theme = use_theme(Theme::light);
|
||||||
|
@ -32,13 +32,13 @@ pub fn Checkbox(
|
||||||
view! {
|
view! {
|
||||||
<div
|
<div
|
||||||
class:melt-checkbox=true
|
class:melt-checkbox=true
|
||||||
class=("melt-checkbox--checked", move || checked.get())
|
class=("melt-checkbox--checked", move || value.get())
|
||||||
style=move || css_vars.get()
|
style=move || css_vars.get()
|
||||||
on:click=move |_| checked.set(!checked.get_untracked())
|
on:click=move |_| value.set(!value.get_untracked())
|
||||||
>
|
>
|
||||||
<input class="melt-checkbox__input" type="checkbox"/>
|
<input class="melt-checkbox__input" type="checkbox"/>
|
||||||
<div class="melt-checkbox__dot">
|
<div class="melt-checkbox__dot">
|
||||||
<If cond=checked.clone_into()>
|
<If cond=value.clone_into()>
|
||||||
<Then slot>
|
<Then slot>
|
||||||
<Icon icon=Icon::from(AiIcon::AiCheckOutlined) style="color: white"/>
|
<Icon icon=Icon::from(AiIcon::AiCheckOutlined) style="color: white"/>
|
||||||
</Then>
|
</Then>
|
||||||
|
|
Loading…
Add table
Reference in a new issue