Crates.io | yew-component-size |
lib.rs | yew-component-size |
version | 0.1.0 |
source | src |
created_at | 2020-12-12 00:37:21.492157 |
updated_at | 2020-12-12 00:37:21.492157 |
description | A Yew component that emits events when the parent component changes width/height. |
homepage | |
repository | https://github.com/AircastDev/yew-component-size |
max_upload_size | |
id | 322032 |
size | 23,687 |
A Yew component that emits events when the parent component changes width/height. Only compatible with Yew using web_sys.
let onsize = self.link.callback(|size: ComponentSize| {
// Access to `size.width` and `size.height`
});
html! {
// Parent that you're tracking the size of must be `position: relative`
<div style="position: relative;">
// ...
<ComponentSizeObserver onsize=onsize />
</div>
}
This uses a trick borrowed from Svelte where we use an iframe that is positioned absolutely to fill it's parent element, and then we listen to the resize event of iframe's window.
Note: This incurs a small cost and so should not be used on a large number of elements at the same time.
Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.