yew_components

Struct Select

Source
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>
where T: ToString + PartialEq + Clone + 'static,

Source§

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>

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

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

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

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 more
Source§

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.
Source§

fn rendered(&mut self, _first_render: bool)

The rendered method is called after each time a Component is rendered but before the browser updates the page. Read more
Source§

fn destroy(&mut self)

The destroy method is called right before a Component is unmounted.
Source§

impl<T: Debug + ToString + PartialEq + Clone + 'static> Debug for Select<T>

Source§

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

Formats the value using the given formatter. Read more

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> 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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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, V> IntoOptPropValue<V> for T
where T: IntoPropValue<Option<V>>,

Source§

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

Source§

fn into_prop_value(self) -> Option<T>

Convert self to a value of a Properties struct.
Source§

impl<T> IntoPropValue<T> for T

Source§

fn into_prop_value(self) -> T

Convert self to a value of a Properties struct.
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> Any for T
where T: Any,