List
List 是最简单的选中型 widget。
最小示例
let list = List::new(["Inbox", "Today", "Done"])
.selected(Some(0))
.highlight_symbol("> ")
.on_select(|index| Some(Message::Select(index)))
.build();什么时候用
- 同时只有一个 active item
- 方向键导航要一目了然
- 文本项比复杂列布局更重要
关键 builder 方法
List::new(...).items(...)、.item(...).selected(...)、.offset(...)、.state(...).highlight_symbol(...)、.highlight_style(...).scroll_padding(...).on_select(...)
State 对象
如果你希望把选中态和滚动位置显式拿出来,就用 ListState:
let state = ListState::default()
.with_selected(Some(0))
.with_offset(0);
let list = List::new(items).state(state).build();去哪里看真实用法
- 列表导航:最小但完整的列表选择示例
- OpenAPI Explorer:把
List放进多 pane 浏览器
Last updated on
