From 9789d4281f9c599eb373262e7a289f4af8b7f34e Mon Sep 17 00:00:00 2001 From: luoxiaozero <48741584+luoxiaozero@users.noreply.github.com> Date: Thu, 7 Mar 2024 15:17:26 +0800 Subject: [PATCH] feat: Button icon property supports the signal (#132) --- demo_markdown/docs/button/mod.md | 60 ++++++++++++----- thaw/src/button/mod.rs | 19 ++++-- thaw/src/utils/mod.rs | 2 + thaw/src/utils/optional_maybe_signal.rs | 85 +++++++++++++++++++++++++ 4 files changed, 144 insertions(+), 22 deletions(-) create mode 100644 thaw/src/utils/optional_maybe_signal.rs diff --git a/demo_markdown/docs/button/mod.md b/demo_markdown/docs/button/mod.md index 8f3cffd..54e5019 100644 --- a/demo_markdown/docs/button/mod.md +++ b/demo_markdown/docs/button/mod.md @@ -27,21 +27,51 @@ view! { ### Icon ```rust demo +let icon = create_rw_signal(Some(icondata::AiCloseOutlined)); + +let on_click = move |_| { + icon.update(|icon| { + *icon = match icon { + Some(data) => { + if *data == icondata::AiCloseOutlined { + icondata::AiCheckOutlined + } else { + icondata::AiCloseOutlined + } + } + None => icondata::AiCloseOutlined + }.into(); + }); +}; + view! { - - - + + + + + +