Trait pixel_widgets::component::Component [−][src]
pub trait Component {
type State: 'static + Any + Send + Sync;
type Message: 'static;
type Output: 'static;
fn mount(&self) -> Self::State;
fn view<'a>(&'a self, state: &'a Self::State) -> Node<'a, Self::Message>;
fn update(
&self,
_message: Self::Message,
_state: State<'_, Self::State>,
_context: Context<'_, Self::Message, Self::Output>
) { ... }
fn style() -> StyleBuilder { ... }
fn into_node<'a>(self) -> Node<'a, Self::Output>
where
Self: 'a + Sized,
{ ... }
fn class<'a>(self, class: &'a str) -> Node<'a, Self::Output>
where
Self: 'a + Sized,
{ ... }
fn key<'a, K>(self, key: K) -> Node<'a, Self::Output>
where
Self: 'a + Sized,
K: Hash,
{ ... }
}
Expand description
A re-usable component for defining a fragment of a user interface. Components are the main building block for user interfaces in pixel-widgets.
The examples in this repository all implement some kind of Component
,
check them out if you just want to read some code.
Associated Types
Required methods
Create a new State
for the Component
.
This will be called only once when the Component
is first created.
Provided methods
Update the Component
state in response to the message
.
Asynchronous operations can be submitted to the context
,
which will result in more update
calls in the future.
Messages for the parent Component
or root can also be submitted through the context
.
fn style() -> StyleBuilder
fn style() -> StyleBuilder
Returns a StyleBuilder
with styling information scoped to this component.
This method will be called when you call
StyleBuilder::component()
when building your style.
Converts the component into a Node
. This is used by the library to
instantiate the component in a user interface.
Converts the component into a Node
and sets a style class to it.