pub struct SelectList<Item = Line<'static>> { /* private fields */ }Expand description
A scrollable selection list with keyboard navigation
Handles j/k/up/down for navigation and enter for selection.
Generic over item type T - provide a render_item callback to convert to Lines.
Implementations§
Source§impl<Item> SelectList<Item>
impl<Item> SelectList<Item>
Sourcepub fn render_widget(
&mut self,
frame: &mut Frame<'_>,
area: Rect,
props: SelectListRenderProps<'_, Item>,
)
pub fn render_widget( &mut self, frame: &mut Frame<'_>, area: Rect, props: SelectListRenderProps<'_, Item>, )
Render the widget without requiring selection callbacks.
Trait Implementations§
Source§impl<Item, A> Component<A> for SelectList<Item>
impl<Item, A> Component<A> for SelectList<Item>
Source§type Props<'a> = SelectListProps<'a, Item, A>
where
Item: 'a
type Props<'a> = SelectListProps<'a, Item, A> where Item: 'a
Data required to render the component (read-only)
Source§fn handle_event(
&mut self,
event: &EventKind,
props: Self::Props<'_>,
) -> impl IntoIterator<Item = A>
fn handle_event( &mut self, event: &EventKind, props: Self::Props<'_>, ) -> impl IntoIterator<Item = A>
Handle an event and return actions to dispatch Read more
Source§impl<Item> ComponentDebugState for SelectList<Item>
impl<Item> ComponentDebugState for SelectList<Item>
fn debug_state(&self) -> Vec<ComponentDebugEntry>
Source§impl<Item> Default for SelectList<Item>
impl<Item> Default for SelectList<Item>
Source§impl<Item, A, Ctx> InteractiveComponent<A, Ctx> for SelectList<Item>
impl<Item, A, Ctx> InteractiveComponent<A, Ctx> for SelectList<Item>
type Props<'a> = SelectListProps<'a, Item, A> where Item: 'a
fn update( &mut self, input: ComponentInput<'_, Ctx>, props: Self::Props<'_>, ) -> HandlerResponse<A>
fn render(&mut self, frame: &mut Frame<'_>, area: Rect, props: Self::Props<'_>)
Source§fn subscriptions() -> &'static [EventType]
fn subscriptions() -> &'static [EventType]
Event types this component should receive when bound through
ComponentHost. Read moreAuto Trait Implementations§
impl<Item> Freeze for SelectList<Item>
impl<Item> RefUnwindSafe for SelectList<Item>
impl<Item> Send for SelectList<Item>
impl<Item> Sync for SelectList<Item>
impl<Item> Unpin for SelectList<Item>
impl<Item> UnsafeUnpin for SelectList<Item>
impl<Item> UnwindSafe for SelectList<Item>
Blanket Implementations§
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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more