thaw/thaw_components/src/option_comp.rs
luoxiaozero 2be216043e
Feat/thaw components (#146)
* feat: extract utils as the library

* fix: thaw_components dependencies
2024-03-19 23:04:16 +08:00

21 lines
451 B
Rust

use super::Fallback;
use leptos::*;
#[component]
pub fn OptionComp<T, CF, IV>(
value: Option<T>,
children: CF,
#[prop(optional)] fallback: Option<Fallback>,
) -> impl IntoView
where
CF: FnOnce(T) -> IV + 'static,
IV: IntoView,
{
if let Some(value) = value {
children(value).into_view()
} else if let Some(fallback) = fallback {
(fallback.children)().into_view()
} else {
().into_view()
}
}