Skip to main content

List

Struct List 

Source
pub struct List<'a> { /* private fields */ }
Expand description

A widget to display a list of items.

Implementations§

Source§

impl<'a> List<'a>

Source

pub fn new(items: impl IntoIterator<Item = impl Into<ListItem<'a>>>) -> Self

Create a new list from the given items.

Source

pub fn data_hash(self, hash: u64) -> Self

Set an explicit data hash to enable caching of filtered indices.

This is highly recommended for large lists. When provided, the list widget will cache the result of filtering in the ListState, skipping expensive O(N) string processing on frames where the hash and filter query have not changed.

Source

pub fn block(self, block: Block<'a>) -> Self

Wrap the list in a decorative block.

Source

pub fn style(self, style: Style) -> Self

Set the base style for the list area.

Source

pub fn highlight_style(self, style: Style) -> Self

Set the style applied to the selected item.

Source

pub fn hover_style(self, style: Style) -> Self

Set the style applied to the hovered item (mouse move).

Source

pub fn highlight_symbol(self, symbol: &'a str) -> Self

Set a symbol displayed before the selected item.

Source

pub fn hit_id(self, id: HitId) -> Self

Set a hit ID for mouse interaction.

When set, each list item will register a hit region with the frame’s hit grid (if enabled). The hit data will be the item’s index, allowing click handlers to determine which item was clicked.

Source

pub fn handle_key(&self, state: &mut ListState, key: &KeyEvent) -> bool

Handle keyboard navigation and incremental filtering for this list.

Supported keys:

  • Navigation: Up/Down, k/j (vi-style, always navigate — never appended to the filter query)
  • Incremental filter input: printable chars (except j/k)
  • Filter editing: Backspace, Escape
  • Multi-select toggle (when enabled): Space

Trait Implementations§

Source§

impl Accessible for List<'_>

Source§

fn accessibility_nodes(&self, area: Rect) -> Vec<A11yNodeInfo>

Return accessibility node(s) for this widget at the given bounds. Read more
Source§

impl<'a> Clone for List<'a>

Source§

fn clone(&self) -> List<'a>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'a> Debug for List<'a>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'a> Default for List<'a>

Source§

fn default() -> List<'a>

Returns the “default value” for a type. Read more
Source§

impl MeasurableWidget for List<'_>

Source§

fn measure(&self, available: Size) -> SizeConstraints

Measure the widget given available space. Read more
Source§

fn has_intrinsic_size(&self) -> bool

Quick check: does this widget have content-dependent sizing? Read more
Source§

impl<'a> StatefulWidget for List<'a>

Source§

type State = ListState

The state type associated with this widget.
Source§

fn render(&self, area: Rect, frame: &mut Frame<'_>, state: &mut Self::State)

Render the widget into the frame, potentially modifying state. Read more
Source§

impl<'a> Widget for List<'a>

Source§

fn render(&self, area: Rect, frame: &mut Frame<'_>)

Render the widget into the frame at the given area. Read more
Source§

fn is_essential(&self) -> bool

Whether this widget is essential and should always render. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for List<'a>

§

impl<'a> RefUnwindSafe for List<'a>

§

impl<'a> Send for List<'a>

§

impl<'a> Sync for List<'a>

§

impl<'a> Unpin for List<'a>

§

impl<'a> UnsafeUnpin for List<'a>

§

impl<'a> UnwindSafe for List<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more