Add toggle to signals example

This commit is contained in:
Jonathan Kelley committed 2023-10-15 17:50:23 -07:00
1 parent 14b3fa72e4
commit 741bfbc9ac
1 file changed
+6 -5
+6 -5
View File
@@ -6,12 +6,15 @@ fn main() {
} }
fn app(cx: Scope) -> Element { fn app(cx: Scope) -> Element {
let running = dioxus_signals::use_signal(cx, || true);
let mut count = dioxus_signals::use_signal(cx, || 0); let mut count = dioxus_signals::use_signal(cx, || 0);
let saved_values = dioxus_signals::use_signal(cx, || vec![0]); let saved_values = dioxus_signals::use_signal(cx, || vec![0]);
use_future!(cx, || async move { use_future!(cx, || async move {
loop { loop {
count += 1; if running.value() {
count += 1;
}
tokio::time::sleep(Duration::from_millis(400)).await; tokio::time::sleep(Duration::from_millis(400)).await;
} }
}); });
@@ -20,10 +23,8 @@ fn app(cx: Scope) -> Element {
h1 { "High-Five counter: {count}" } h1 { "High-Five counter: {count}" }
button { onclick: move |_| count += 1, "Up high!" } button { onclick: move |_| count += 1, "Up high!" }
button { onclick: move |_| count -= 1, "Down low!" } button { onclick: move |_| count -= 1, "Down low!" }
button { button { onclick: move |_| running.set(!running.value()), "Toggle counter" }
onclick: move |_| saved_values.push(count.value()), button { onclick: move |_| saved_values.push(count.value()), "Save this value" }
"Save this value"
}
// We can do boolean operations on the current signal value // We can do boolean operations on the current signal value
if count.value() > 5 { if count.value() > 5 {