pub struct LookupField { /* private fields */ }Expand description
Picks a record from a list that is searched as you type, loaded from memory or through a callback that can go to a database or a server. Arrows move through the options, Enter picks and Escape closes. The chosen option can be cleared.
use ravenrs_reactive::State;
use ravenrs_widgets::{LookupField, LookupItem, Ui};
let city = State::new(None);
let field = LookupField::remote(city.binding(), |request, responder| {
// Ask a database here; answer now, or later with a clone of the responder.
let found = LookupItem::new("1", format!("{} (first match)", request.query));
responder.respond(vec![found]);
});
let mut ui = Ui::new(field, ravenrs_style::Theme::raven_dark());
ui.update();Implementations§
Source§impl LookupField
impl LookupField
Sourcepub fn new(
selected: Binding<Option<LookupItem>>,
items: Vec<LookupItem>,
) -> LookupField
pub fn new( selected: Binding<Option<LookupItem>>, items: Vec<LookupItem>, ) -> LookupField
A lookup over options already in memory.
Sourcepub fn remote(
selected: Binding<Option<LookupItem>>,
load: impl Fn(LookupRequest, LookupResponder) + 'static,
) -> LookupField
pub fn remote( selected: Binding<Option<LookupItem>>, load: impl Fn(LookupRequest, LookupResponder) + 'static, ) -> LookupField
A lookup that asks load for its options when it opens and on every search.
Sourcepub fn placeholder(self, text: impl Into<String>) -> LookupField
pub fn placeholder(self, text: impl Into<String>) -> LookupField
Text shown while nothing is chosen.
Sourcepub fn limit(self, limit: usize) -> LookupField
pub fn limit(self, limit: usize) -> LookupField
The most options asked for at a time. 50 by default.
Sourcepub fn width(self, width: f32) -> LookupField
pub fn width(self, width: f32) -> LookupField
Width in logical pixels. 240 by default.
Sourcepub fn label(self, label: impl Into<String>) -> LookupField
pub fn label(self, label: impl Into<String>) -> LookupField
The name screen readers announce. Inside a crate::FormField, its label is used instead.
Sourcepub fn disabled(self, disabled: bool) -> LookupField
pub fn disabled(self, disabled: bool) -> LookupField
Turns the lookup off: it fades, leaves the tab order and ignores input.
Sourcepub fn read_only(self, read_only: bool) -> LookupField
pub fn read_only(self, read_only: bool) -> LookupField
Shows the choice without letting it change; it can still be focused and read.
Trait Implementations§
Source§impl Debug for LookupField
impl Debug for LookupField
Auto Trait Implementations§
impl !RefUnwindSafe for LookupField
impl !Send for LookupField
impl !Sync for LookupField
impl !UnwindSafe for LookupField
impl Freeze for LookupField
impl Unpin for LookupField
impl UnsafeUnpin for LookupField
Blanket Implementations§
impl<T> AutoreleaseSafe for Twhere
T: ?Sized,
impl<T> AutoreleaseSafe for Twhere
T: ?Sized,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
impl<T> ErasedDestructor for Twhere
T: 'static,
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
§impl<T, U> ToSample<U> for Twhere
U: FromSample<T>,
impl<T, U> ToSample<U> for Twhere
U: FromSample<T>,
fn to_sample_(self) -> U
Source§impl<V> ViewExt for Vwhere
V: View,
impl<V> ViewExt for Vwhere
V: View,
Source§fn padding(self, padding: impl Into<Insets>) -> Styled<Self>
fn padding(self, padding: impl Into<Insets>) -> Styled<Self>
Adds padding inside the box, in logical pixels.
Source§fn background(self, fill: impl Into<Fill>) -> Styled<Self>
fn background(self, fill: impl Into<Fill>) -> Styled<Self>
Paints a background behind the content.
Source§fn frame(self, width: Option<f32>, height: Option<f32>) -> Styled<Self>
fn frame(self, width: Option<f32>, height: Option<f32>) -> Styled<Self>
Fixes the width and/or height in logical pixels;
None keeps the content size.