pub struct Select<'a, T, L, V, Message, Renderer>{ /* private fields */ }Expand description
A Material select field.
Implementations§
Source§impl<'a, T, L, V, Message, Renderer> Select<'a, T, L, V, Message, Renderer>
impl<'a, T, L, V, Message, Renderer> Select<'a, T, L, V, Message, Renderer>
Sourcepub fn new(
options: L,
selected: Option<V>,
on_select: impl Fn(T) -> Message + 'a,
) -> Self
pub fn new( options: L, selected: Option<V>, on_select: impl Fn(T) -> Message + 'a, ) -> Self
Creates a new Select with the given list of options, selected value,
and message to produce when an option is selected.
Sourcepub fn placeholder(self, placeholder: impl Into<String>) -> Self
pub fn placeholder(self, placeholder: impl Into<String>) -> Self
Sets the placeholder of the select.
Examples found in repository?
examples/showcase/pages/inputs.rs (line 20)
6pub(super) fn view(state: &Showcase) -> material::Element<'_, Message> {
7 let input = material::widget::text_input::outlined("Write a note", &state.note)
8 .on_input(Message::TextChanged);
9
10 let editor = material::widget::text_editor::outlined_area(&state.editor_content)
11 .placeholder("Write details")
12 .on_action(Message::EditorAction);
13
14 let select_options = ["Assist", "Suggestion", "Filter"];
15 let select = material::widget::select::outlined(
16 select_options,
17 state.select_choice,
18 Message::SelectChanged,
19 )
20 .placeholder("Choose a chip")
21 .label("Chip type");
22
23 let combobox = material::widget::combobox::outlined_with_input(
24 &state.combobox_options,
25 "Search a chip",
26 &state.combobox_input,
27 state.combobox_choice.as_ref(),
28 Message::ComboboxSelected,
29 )
30 .label("Searchable chip")
31 .on_input(Message::ComboboxInputChanged);
32
33 page::sections([
34 page::section("Text fields", page::stack([input.into(), editor.into()])).into(),
35 page::section(
36 "Selection fields",
37 page::stack([select.into(), combobox.into()]),
38 )
39 .into(),
40 page::section("Pickers", pickers(state)).into(),
41 page::section("Search", search_bar(state)).into(),
42 page::section("Dividers", dividers()).into(),
43 ])
44 .into()
45}Sourcepub fn label(self, label: impl Into<String>) -> Self
pub fn label(self, label: impl Into<String>) -> Self
Sets the floating label of the select.
Examples found in repository?
examples/showcase/pages/inputs.rs (line 21)
6pub(super) fn view(state: &Showcase) -> material::Element<'_, Message> {
7 let input = material::widget::text_input::outlined("Write a note", &state.note)
8 .on_input(Message::TextChanged);
9
10 let editor = material::widget::text_editor::outlined_area(&state.editor_content)
11 .placeholder("Write details")
12 .on_action(Message::EditorAction);
13
14 let select_options = ["Assist", "Suggestion", "Filter"];
15 let select = material::widget::select::outlined(
16 select_options,
17 state.select_choice,
18 Message::SelectChanged,
19 )
20 .placeholder("Choose a chip")
21 .label("Chip type");
22
23 let combobox = material::widget::combobox::outlined_with_input(
24 &state.combobox_options,
25 "Search a chip",
26 &state.combobox_input,
27 state.combobox_choice.as_ref(),
28 Message::ComboboxSelected,
29 )
30 .label("Searchable chip")
31 .on_input(Message::ComboboxInputChanged);
32
33 page::sections([
34 page::section("Text fields", page::stack([input.into(), editor.into()])).into(),
35 page::section(
36 "Selection fields",
37 page::stack([select.into(), combobox.into()]),
38 )
39 .into(),
40 page::section("Pickers", pickers(state)).into(),
41 page::section("Search", search_bar(state)).into(),
42 page::section("Dividers", dividers()).into(),
43 ])
44 .into()
45}Sets the height of the menu.
Sourcepub fn padding(self, padding: impl Into<Padding>) -> Self
pub fn padding(self, padding: impl Into<Padding>) -> Self
Sets the padding of the select field.
Sourcepub fn option_padding(self, padding: impl Into<Padding>) -> Self
pub fn option_padding(self, padding: impl Into<Padding>) -> Self
Sets the padding of each menu option.
Sourcepub fn text_size(self, size: impl Into<Pixels>) -> Self
pub fn text_size(self, size: impl Into<Pixels>) -> Self
Sets the text size of the select and its menu items.
Sourcepub fn text_line_height(self, line_height: impl Into<LineHeight>) -> Self
pub fn text_line_height(self, line_height: impl Into<LineHeight>) -> Self
Sets the text line height of the select and its menu items.
Sourcepub fn text_shaping(self, shaping: Shaping) -> Self
pub fn text_shaping(self, shaping: Shaping) -> Self
Sets the text shaping strategy.
Sourcepub fn on_open(self, on_open: Message) -> Self
pub fn on_open(self, on_open: Message) -> Self
Sets the message produced when the menu is opened.
Sourcepub fn on_close(self, on_close: Message) -> Self
pub fn on_close(self, on_close: Message) -> Self
Sets the message produced when the menu is closed.
Sourcepub fn style(self, style: impl Fn(&Theme, Status) -> Style + 'a) -> Self
pub fn style(self, style: impl Fn(&Theme, Status) -> Style + 'a) -> Self
Sets the style of the select.
Sets the style of the menu.
Trait Implementations§
Source§impl<'a, T, L, V, Message, Renderer> From<Select<'a, T, L, V, Message, Renderer>> for Element<'a, Message, Theme, Renderer>
impl<'a, T, L, V, Message, Renderer> From<Select<'a, T, L, V, Message, Renderer>> for Element<'a, Message, Theme, Renderer>
Source§impl<'a, T, L, V, Message, Renderer> Widget<Message, Theme, Renderer> for Select<'a, T, L, V, Message, Renderer>
impl<'a, T, L, V, Message, Renderer> Widget<Message, Theme, Renderer> for Select<'a, T, L, V, Message, Renderer>
Source§fn update(
&mut self,
tree: &mut Tree,
event: &Event,
layout: Layout<'_>,
cursor: Cursor,
_renderer: &Renderer,
_clipboard: &mut dyn Clipboard,
shell: &mut Shell<'_, Message>,
_viewport: &Rectangle,
)
fn update( &mut self, tree: &mut Tree, event: &Event, layout: Layout<'_>, cursor: Cursor, _renderer: &Renderer, _clipboard: &mut dyn Clipboard, shell: &mut Shell<'_, Message>, _viewport: &Rectangle, )
Source§fn mouse_interaction(
&self,
_tree: &Tree,
layout: Layout<'_>,
cursor: Cursor,
_viewport: &Rectangle,
_renderer: &Renderer,
) -> Interaction
fn mouse_interaction( &self, _tree: &Tree, layout: Layout<'_>, cursor: Cursor, _viewport: &Rectangle, _renderer: &Renderer, ) -> Interaction
Source§fn draw(
&self,
tree: &Tree,
renderer: &mut Renderer,
theme: &Theme,
_style: &Style,
layout: Layout<'_>,
cursor: Cursor,
viewport: &Rectangle,
)
fn draw( &self, tree: &Tree, renderer: &mut Renderer, theme: &Theme, _style: &Style, layout: Layout<'_>, cursor: Cursor, viewport: &Rectangle, )
Draws the
Widget using the associated Renderer.Auto Trait Implementations§
impl<'a, T, L, V, Message, Renderer> !RefUnwindSafe for Select<'a, T, L, V, Message, Renderer>
impl<'a, T, L, V, Message, Renderer> !Send for Select<'a, T, L, V, Message, Renderer>
impl<'a, T, L, V, Message, Renderer> !Sync for Select<'a, T, L, V, Message, Renderer>
impl<'a, T, L, V, Message, Renderer> !UnwindSafe for Select<'a, T, L, V, Message, Renderer>
impl<'a, T, L, V, Message, Renderer> Freeze for Select<'a, T, L, V, Message, Renderer>
impl<'a, T, L, V, Message, Renderer> Unpin for Select<'a, T, L, V, Message, Renderer>
impl<'a, T, L, V, Message, Renderer> UnsafeUnpin for Select<'a, T, L, V, Message, Renderer>where
Box<dyn Fn(T) -> Message + 'a>: UnsafeUnpin,
Option<Message>: UnsafeUnpin,
L: UnsafeUnpin,
Option<V>: UnsafeUnpin,
Option<<Renderer as Renderer>::Font>: UnsafeUnpin,
Handle<<Renderer as Renderer>::Font>: UnsafeUnpin,
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<State, Message> IntoBoot<State, Message> for State
impl<State, Message> IntoBoot<State, Message> for State
Source§fn into_boot(self) -> (State, Task<Message>)
fn into_boot(self) -> (State, Task<Message>)
Turns some type into the initial state of some
Application.