This is unreleased documentation for Yew Next version.
For up-to-date documentation, see the latest version on docs.rs.
pub enum Attributes {
    Static(&'static [(&'static str, AttributeOrProperty)]),
    Dynamic {
        keys: &'static [&'static str],
        values: Box<[Option<AttributeOrProperty>]>,
    },
    IndexMap(Rc<IndexMap<AttrValue, AttributeOrProperty>>),
}
Expand description

A collection of attributes for an element

Variants§

§

Static(&'static [(&'static str, AttributeOrProperty)])

Static list of attributes.

Allows optimizing comparison to a simple pointer equality check and reducing allocations, if the attributes do not change on a node.

§

Dynamic

Fields

§keys: &'static [&'static str]

Attribute keys. Includes both always set and optional attribute keys.

§values: Box<[Option<AttributeOrProperty>]>

Attribute values. Matches keys. Optional attributes are designated by setting None.

Static list of attribute keys with possibility to exclude attributes and dynamic attribute values.

Allows optimizing comparison to a simple pointer equality check and reducing allocations, if the attributes keys do not change on a node.

§

IndexMap(Rc<IndexMap<AttrValue, AttributeOrProperty>>)

IndexMap is used to provide runtime attribute deduplication in cases where the html! macro was not used to guarantee it.

Implementations§

source§

impl Attributes

source

pub fn new() -> Self

Construct a default Attributes instance

source

pub fn iter<'a>(&'a self) -> Box<dyn Iterator<Item = (&'a str, &'a str)> + 'a>

Return iterator over attribute key-value pairs. This function is suboptimal and does not inline well. Avoid on hot paths.

This function only returns attributes

source

pub fn get_mut_index_map( &mut self ) -> &mut IndexMap<AttrValue, AttributeOrProperty>

Get a mutable reference to the underlying IndexMap. If the attributes are stored in the Vec variant, it will be converted.

Trait Implementations§

source§

impl Clone for Attributes

source§

fn clone(&self) -> Attributes

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Attributes

source§

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

Formats the value using the given formatter. Read more
source§

impl Default for Attributes

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl From<IndexMap<&'static str, IString>> for Attributes

source§

fn from(v: IndexMap<&'static str, AttrValue>) -> Self

Converts to this type from the input type.
source§

impl From<IndexMap<&'static str, JsValue>> for Attributes

source§

fn from(v: IndexMap<&'static str, JsValue>) -> Self

Converts to this type from the input type.
source§

impl From<IndexMap<IString, IString>> for Attributes

source§

fn from(map: IndexMap<AttrValue, AttrValue>) -> Self

Converts to this type from the input type.
source§

impl PartialEq for Attributes

source§

fn eq(&self, other: &Attributes) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl StructuralPartialEq for Attributes

Auto Trait Implementations§

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.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> 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> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

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>,

§

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

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more