resize.rs 813 B

123456789101112131415161718192021222324252627
  1. //! Run a callback
  2. //!
  3. //! Whenever an Element is finally mounted to the Dom, its data is available to be read.
  4. //! These fields can typically only be read asynchronously, since various renderers need to release the main thread to
  5. //! perform layout and painting.
  6. use dioxus::prelude::*;
  7. use dioxus_elements::geometry::euclid::Size2D;
  8. fn main() {
  9. dioxus::launch(app);
  10. }
  11. fn app() -> Element {
  12. let mut dimensions = use_signal(Size2D::zero);
  13. rsx!(
  14. head::Link { rel: "stylesheet", href: asset!("./examples/assets/read_size.css") }
  15. div {
  16. width: "50%",
  17. height: "50%",
  18. background_color: "red",
  19. onresize: move |evt| dimensions.set(evt.data().get_content_box_size().unwrap()),
  20. "This element is {dimensions():?}"
  21. }
  22. )
  23. }