use crate::components::{Demo, DemoCode};
use leptos::*;
use prisms::highlight_str;
use thaw::*;
#[component]
pub fn AutoCompletePage() -> impl IntoView {
let value = create_rw_signal(String::new());
let options = create_memo(move |_| {
let prefix = value
.get()
.split_once('@')
.map_or(value.get(), |v| v.0.to_string());
vec!["@gmail.com", "@163.com"]
.into_iter()
.map(|suffix| AutoCompleteOption {
label: format!("{prefix}{suffix}"),
value: format!("{prefix}{suffix}"),
})
.collect()
});
view! {
"AutoComplete"
}
"#,
"rust"
)
>
""
"AutoComplete Props"
"Name" |
"Type" |
"Default" |
"Description" |
"value" |
"RwSignal" |
r#""""# |
"Input of autocomplete." |
"placeholder" |
"MaybeSignal" |
r#""""# |
"Autocomplete's placeholder." |
"options" |
"MaybeSignal>" |
"Vec::new()" |
"Options to autocomplete from." |
"clear_after_select" |
"MaybeSignal" |
"false" |
"Whether to clear after selection." |
"on_select" |
"Option>" |
"None" |
"On select callback function." |
"AutoCompleteOption Properties"
"Name" |
"Type" |
"Description" |
"value" |
"String" |
"Option ID." |
"label" |
"String" |
"Option label value." |
}
}