Components / LookupField
LookupField
Picks a record from a list searched on demand.
Example
The component itself, running in WebAssembly, beside its code in a playground. Try it.
Code
use ravenrs::prelude::*;
fn lookup_field() -> impl View {
let city = State::new(None);
LookupField::remote(city.binding(), |request, responder| {
// Ask a database or a server here; a clone of the responder can answer later.
let cities = ["Belo Horizonte", "Recife", "Salvador", "São Paulo"];
let needle = request.query.to_lowercase();
let found = cities.iter().filter(|c| c.to_lowercase().contains(&needle));
responder.respond(found.map(|c| LookupItem::new(*c, *c)).collect());
})
.placeholder("Choose a city")
.width(220.0)
.label("City")
}