Skip to main content

FieldMeta

Struct FieldMeta 

Source
pub struct FieldMeta { /* private fields */ }
Expand description

Signal-backed presentation metadata for one field-shaped value.

The flag meanings are producer-defined. This type does not track an initial value or classify validity. Error strings are already formatted for display before they cross this boundary.

Implementations§

Source§

impl FieldMeta

Source

pub fn id(&self) -> Rc<str>

Returns the rendered control id.

Metadata always carries an id. When its producer supplies none, use_field_meta_state generates one that is stable for the owning scope’s lifetime, so Label’s for, aria-labelledby, aria-describedby, and aria-errormessage all resolve instead of silently leaving the control unnamed.

Source

pub fn set_id(&mut self, id: Option<Rc<str>>)

Replaces the rendered control id, or restores the generated fallback with None.

Source

pub fn name(&self) -> Option<Rc<str>>

Returns the rendered control name.

Source

pub fn set_name(&mut self, name: Option<Rc<str>>)

Replaces the rendered control name.

Source

pub fn required(&self) -> bool

Returns whether the field is required.

Source

pub fn set_required(&mut self, required: bool)

Replaces the producer-defined required state.

Source

pub fn disabled(&self) -> bool

Returns whether the field is disabled.

Source

pub fn set_disabled(&mut self, disabled: bool)

Replaces the producer-defined disabled state.

Source

pub fn invalid(&self) -> bool

Returns whether the field is invalid.

An explicit invalid state wins; otherwise invalidity is derived from whether errors exist.

Source

pub fn set_invalid(&mut self, invalid: Option<bool>)

Sets an explicit invalid state, or restores error-derived invalidity with None.

Source

pub fn errors(&self) -> Vec<Rc<str>>

Returns the pre-rendered error text.

Source

pub fn set_errors(&mut self, errors: Vec<Rc<str>>)

Replaces the pre-rendered error text.

Source

pub fn touched(&self) -> bool

Returns whether the field is touched.

Source

pub fn set_touched(&mut self, touched: bool)

Replaces the producer-defined touched state.

Source

pub fn dirty(&self) -> bool

Returns whether the field is dirty.

Source

pub fn set_dirty(&mut self, dirty: bool)

Replaces the producer-defined dirty state.

Source

pub fn register_label_id(&mut self, id: Rc<str>) -> FieldMetaIdRegistration

Registers a label element id until the returned registration is dropped.

Registered label ids reach the control through aria-labelledby, which is the only naming path available to a control rooted on an element <label for> cannot address.

Source

pub fn register_description_id( &mut self, id: Rc<str>, ) -> FieldMetaIdRegistration

Registers a description element id until the returned registration is dropped.

Source

pub fn register_error_id(&mut self, id: Rc<str>) -> FieldMetaIdRegistration

Registers an error element id until the returned registration is dropped.

Source

pub fn attributes(&self) -> Vec<Attribute>

Returns attributes for a rendered control using the metadata’s own state, on a FieldSurface::NATIVE element.

Source

pub fn attributes_for(&self, options: &FieldControlOptions) -> Vec<Attribute>

Returns attributes for a rendered control, resolving explicit overrides and the element’s attribute surface.

Overrides are resolved first and only the resolved state is emitted, so the caller never filters the result and no attribute appears twice.

§Guarantees

The returned vector is sorted by attribute name and carries at most one entry per attribute name and namespace.

The sort is what dioxus-core requires of any spread list: its attribute diff is a sorted merge-join, so an unsorted list makes a later render drop attributes that did not change. The single entry per name guards the neighbouring failure, where a spread carrying one name twice and dropping to once emits a removal, deleting an attribute the new render still has.

To combine this with a widget’s own attributes, pass both to merge_attributes, which preserves the guarantee and resolves each name last-wins. To replace a value the metadata supplied, set the matching override on FieldControlOptions rather than adding a second entry — that is what the overrides are for.

§Emitted attributes
  • id, always, from the override or the metadata.
  • name, when FieldSurface::name is NameSurface::Native and a name resolves.
  • required or aria-required="true", when required, per FieldSurface::required.
  • disabled or aria-disabled="true", when disabled, per FieldSurface::disabled.
  • aria-invalid, and aria-errormessage while invalid, per FieldSurface::validity. aria-errormessage takes a single IDREF in ARIA 1.2, so it references only the first mounted error part; every error id also reaches aria-describedby while invalid.
  • aria-labelledby and aria-describedby, from the currently mounted parts. Both are legal on every role in play, so neither has a surface axis.
  • data-required, data-disabled, data-invalid, data-touched, and data-dirty, from the resolved state, absent when false and independent of the surface.
Source

pub fn set_values(&mut self, values: FieldMetaValues)

Replaces producer-owned metadata values without disturbing registered part ids.

Trait Implementations§

Source§

impl Clone for FieldMeta

Source§

fn clone(&self) -> FieldMeta

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Copy for FieldMeta

Source§

impl Debug for FieldMeta

Source§

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

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

impl PartialEq for FieldMeta

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for FieldMeta

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DependencyElement for T
where T: 'static + PartialEq + Clone,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> InitializeFromFunction<T> for T

Source§

fn initialize_from_function(f: fn() -> T) -> T

Create an instance of this type from an initialization function
Source§

impl<T> Instrument for T

Source§

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

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

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<Ret> SpawnIfAsync<(), Ret> for Ret

Source§

fn spawn(self) -> Ret

Spawn the value into the dioxus runtime if it is an async block
Source§

impl<T, O> SuperFrom<T> for O
where O: From<T>,

Source§

fn super_from(input: T) -> O

Convert from a type to another type.
Source§

impl<T, O, M> SuperInto<O, M> for T
where O: SuperFrom<T, M>,

Source§

fn super_into(self) -> O

Convert from a type to another type.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

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

Source§

type Error = !

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

Source§

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

fn with_current_subscriber(self) -> WithDispatch<Self>

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