[][src]Struct yew_styles::button::Button

pub struct Button { /* fields omitted */ }

Button component

Features required

button

Example

use yew::prelude::*;
use yew::services::ConsoleService;
use yew_styles::{
    button::{Button},
    styles::{Palette, Style, Size},
};

pub struct App {
  link: ComponentLink<Self>,
}

pub enum Msg {
  Clicked(String),
}
#[derive(Clone, Properties)]
pub struct Props {}

impl Component for App {
    type Message = Msg;
    type Properties = Props;

    fn create(_props: Self::Properties, link: ComponentLink<Self>) -> Self {
        App {
            link
        }
    }

    fn update(&mut self, msg: Self::Message) -> ShouldRender {
        match msg {
            Msg::Clicked(greeting) => {
                let mut console = ConsoleService::new();
                console.log(&format!("{}", greeting))
            }
        }
        false
    }

    fn change(&mut self, _props: Self::Properties) -> ShouldRender {
        false
    }

    fn view(&self) -> Html {
       html! {
         <Button
            onclick_signal=link.callback(move |_| Msg::Clicked(String::from("Hello world")))
            class_name="hello-world"
            button_palette=Pallete::Standard
            button_style=Style::Light
            button_size=Size::Medium
         >{"Greeting"}</Button>
       }
    }
}

Trait Implementations

impl Component for Button[src]

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. Read more

type Properties = Props

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. # use yew::{Html, Component, Properties, ComponentLink, html}; # struct Model; # #[derive(Clone, Properties)] # struct Props { # prop: String, # } # impl Component for Model { # type Message = ();type Properties = Props; # fn create(props: Self::Properties,link: ComponentLink<Self>) -> Self {unimplemented!()} # fn update(&mut self,msg: Self::Message) -> bool {unimplemented!()} # fn change(&mut self, _: Self::Properties) -> bool {unimplemented!()} # fn view(&self) -> Html { html! { <Model prop="value" /> } # }} Read more

Auto Trait Implementations

impl !RefUnwindSafe for Button

impl !Send for Button

impl !Sync for Button

impl Unpin for Button

impl !UnwindSafe for Button

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Any for T where
    T: Any

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<COMP> Renderable for COMP where
    COMP: Component
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,