pub struct Select<T: ToString + PartialEq + Clone + 'static> { /* private fields */ }Expand description
An alternative to the HTML <select> tag.
The display of options is handled by the ToString implementation on their
type.
§Example
#[derive(PartialEq, Clone)]
enum Scene {
First,
Second,
}
impl fmt::Display for Scene {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
match self {
Scene::First => write!(f, "{}", "First"),
Scene::Second => write!(f, "{}", "Second"),
}
}
}
fn view(link: ComponentLink<Model>) -> Html {
let scenes = vec![Scene::First, Scene::Second];
html! {
<Select<Scene> options=scenes on_change=link.callback(|_| ()) />
}
}§Properties
Only the on_change property is mandatory. Other (optional) properties
are selected, disabled, options, class, id, and placeholder.
Trait Implementations§
Source§impl<T> Component for Select<T>
impl<T> Component for Select<T>
Source§type Message = Msg
type Message = Msg
Messages are used to make Components dynamic and interactive. Simple
Component’s can declare their Message type to be
(). Complex Component’s
commonly use an enum to declare multiple Message types.Source§type Properties = Props<T>
type Properties = Props<T>
Properties are the inputs to a Component and should not mutated within a
Component. They are passed to a Component using a JSX-style syntax. Read more
Source§fn create(props: Self::Properties, link: ComponentLink<Self>) -> Self
fn create(props: Self::Properties, link: ComponentLink<Self>) -> Self
Components are created with their properties as well as a
ComponentLink which
can be used to send messages and create callbacks for triggering updates.Source§fn update(&mut self, msg: Self::Message) -> ShouldRender
fn update(&mut self, msg: Self::Message) -> ShouldRender
Components handle messages in their
update method and commonly use this method
to update their state and (optionally) re-render themselves.Source§fn change(&mut self, props: Self::Properties) -> ShouldRender
fn change(&mut self, props: Self::Properties) -> ShouldRender
When the parent of a Component is re-rendered, it will either be re-created or
receive new properties in the
change lifecycle method. Component’s can choose
to re-render if the new properties are different than the previously
received properties. Most Component’s will use props with a PartialEq
impl and will be implemented like this: Read moreSource§fn view(&self) -> Html
fn view(&self) -> Html
Components define their visual layout using a JSX-style syntax through the use of the
html! procedural macro. The full guide to using the macro can be found in Yew’s
documentation.Auto Trait Implementations§
impl<T> Freeze for Select<T>where
T: Freeze,
impl<T> !RefUnwindSafe for Select<T>
impl<T> !Send for Select<T>
impl<T> !Sync for Select<T>
impl<T> Unpin for Select<T>where
T: Unpin,
impl<T> !UnwindSafe for Select<T>
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, V> IntoOptPropValue<V> for Twhere
T: IntoPropValue<Option<V>>,
impl<T, V> IntoOptPropValue<V> for Twhere
T: IntoPropValue<Option<V>>,
Source§fn into_opt_prop_value(self) -> Option<V>
fn into_opt_prop_value(self) -> Option<V>
Convert
self to an optional value of a Properties struct.Source§impl<T> IntoPropValue<Option<T>> for T
impl<T> IntoPropValue<Option<T>> for T
Source§fn into_prop_value(self) -> Option<T>
fn into_prop_value(self) -> Option<T>
Convert
self to a value of a Properties struct.Source§impl<T> IntoPropValue<T> for T
impl<T> IntoPropValue<T> for T
Source§fn into_prop_value(self) -> T
fn into_prop_value(self) -> T
Convert
self to a value of a Properties struct.