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.