use leptos::*; use leptos_use::docs::{demo_or_body, Note}; use leptos_use::{watch_pausable, WatchPausableReturn}; #[component] fn Demo(cx: Scope) -> impl IntoView { let input = create_node_ref(cx); let (log, set_log) = create_signal(cx, "".to_string()); let (source, set_source) = create_signal(cx, "".to_string()); let WatchPausableReturn { pause, resume, is_active, .. } = watch_pausable(cx, move || source.get(), move |v, _, _| { set_log.update(|log| *log = format!("{log}Changed to \"{v}\"\n")); }); let clear = move |_| set_log.set("".to_string()); let pause = move |_| { set_log.update(|log| *log = format!("{log}Paused\n")); pause(); }; let resume = move |_| { set_log.update(|log| *log = format!("{log}Resumed\n")); resume(); }; view! { cx, "Type something below to trigger the watch"

"Value: " {source}



"Log"
{log}
} } fn main() { _ = console_log::init_with_level(log::Level::Debug); console_error_panic_hook::set_once(); mount_to(demo_or_body(), |cx| { view! { cx, } }) }