2023-07-03 16:10:58 +01:00
|
|
|
use leptos::html::Textarea;
|
2023-06-05 00:02:13 +01:00
|
|
|
use leptos::*;
|
|
|
|
use leptos_use::docs::{demo_or_body, Note};
|
|
|
|
use leptos_use::{use_element_size, UseElementSizeReturn};
|
|
|
|
|
|
|
|
#[component]
|
2023-07-27 18:06:36 +01:00
|
|
|
fn Demo() -> impl IntoView {
|
|
|
|
let el = create_node_ref::<Textarea>();
|
2023-06-05 00:02:13 +01:00
|
|
|
|
2023-07-27 18:06:36 +01:00
|
|
|
let UseElementSizeReturn { width, height } = use_element_size(el);
|
2023-06-05 00:02:13 +01:00
|
|
|
|
|
|
|
let text = move || format!("width: {}\nheight: {}", width.get(), height.get());
|
|
|
|
|
2023-07-27 18:06:36 +01:00
|
|
|
view! { <Note class="mb-2">"Resize the box to see changes"</Note>
|
2023-06-05 00:02:13 +01:00
|
|
|
<textarea
|
|
|
|
node_ref=el
|
|
|
|
readonly
|
|
|
|
class="resize rounded-md p-4 w-[200px] h-[100px] text-2xl leading-10"
|
|
|
|
prop:value=text
|
|
|
|
/>
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
_ = console_log::init_with_level(log::Level::Debug);
|
|
|
|
console_error_panic_hook::set_once();
|
|
|
|
|
2023-07-27 18:06:36 +01:00
|
|
|
mount_to(demo_or_body(), || {
|
|
|
|
view! { <Demo /> }
|
2023-06-05 00:02:13 +01:00
|
|
|
})
|
|
|
|
}
|