dioxus_native_core::real_dom

Struct NodeMut

Source
pub struct NodeMut<'a, V: FromAnyValue + Send + Sync = ()> { /* private fields */ }
Expand description

A mutable refrence to a node in the RealDom that tracks what States need to be updated

Implementations§

Source§

impl<'a, V: FromAnyValue + Send + Sync> NodeMut<'a, V>

Source

pub fn new(id: NodeId, dom: &'a mut RealDom<V>) -> Self

Create a new mutable refrence to a node in a RealDom

Source§

impl<'a, V: FromAnyValue + Send + Sync> NodeMut<'a, V>

Source

pub fn reborrow(&mut self) -> NodeMut<'_, V>

Reborrow the node mutably

Source

pub fn real_dom_mut(&mut self) -> &mut RealDom<V>

Get the real dom this node was created in mutably

Source

pub fn parent_mut(&mut self) -> Option<NodeMut<'_, V>>

Get the parent of this node mutably

Source

pub fn get_mut<T: Component<Tracking = Untracked> + Sync + Send>( &mut self, ) -> Option<ViewEntryMut<'_, T>>

Get a component from the current node mutably

Source

pub fn insert<T: Component + Sync + Send>(&mut self, value: T)

Insert a custom component into this node

Note: Components that implement State and are added when the RealDom is created will automatically be created

Source

pub fn next_mut(self) -> Option<NodeMut<'a, V>>

Get the next node

Source

pub fn prev_mut(self) -> Option<NodeMut<'a, V>>

Get the previous node

Source

pub fn add_child(&mut self, child: NodeId)

Add the given node to the end of this nodes children

Source

pub fn insert_after(&mut self, old: NodeId)

Insert this node after the given node

Source

pub fn insert_before(&mut self, old: NodeId)

Insert this node before the given node

Source

pub fn remove(&mut self)

Remove this node from the RealDom

Source

pub fn replace(self, new: NodeId)

Replace this node with a different node

Source

pub fn add_event_listener(&mut self, event: &str)

Add an event listener

Source

pub fn remove_event_listener(&mut self, event: &str)

Remove an event listener

Source

pub fn node_type_mut(&mut self) -> NodeTypeMut<'_, V>

Get a mutable reference to the type of the current node

Source

pub fn set_type(&mut self, new: NodeType<V>)

Set the type of the current node

Source

pub fn clone_node(&mut self) -> NodeId

Clone a node and it’s children and returns the id of the new node. This is more effecient than creating the node from scratch because it can pre-allocate the memory required.

Trait Implementations§

Source§

impl<'a, V: FromAnyValue + Send + Sync> NodeImmutable<V> for NodeMut<'a, V>

Source§

fn real_dom(&self) -> &RealDom<V>

Get the real dom this node was created in
Source§

fn id(&self) -> NodeId

Get the id of the current node
Source§

fn node_type(&self) -> ViewEntry<'_, NodeType<V>>

Get the type of the current node
Source§

fn get<'a, T: Component + Sync + Send>(&'a self) -> Option<ViewEntry<'a, T>>

Get a component from the current node
Source§

fn children_ids_advanced( &self, id: NodeId, enter_shadow_dom: bool, ) -> Vec<NodeId>

Get the ids of the children of the current node, if enter_shadow_dom is true and the current node is a shadow slot, the ids of the nodes under the node the shadow slot is attached to will be returned
Source§

fn child_ids(&self) -> Vec<NodeId>

Get the ids of the children of the current node
Source§

fn children(&self) -> Vec<NodeRef<'_, V>>

Get the children of the current node
Source§

fn parent_id_advanced( &self, id: NodeId, enter_shadow_dom: bool, ) -> Option<NodeId>

Get the id of the parent of the current node, if enter_shadow_dom is true and the current node is a shadow root, the node the shadow root is attached to will be returned
Source§

fn parent_id(&self) -> Option<NodeId>

Get the id of the parent of the current node
Source§

fn parent(&self) -> Option<NodeRef<'_, V>>

Get the parent of the current node
Source§

fn next(&self) -> Option<NodeRef<'_, V>>

Get the node after the current node
Source§

fn prev(&self) -> Option<NodeRef<'_, V>>

Get the node before the current node
Source§

fn height(&self) -> u16

Get the height of the current node in the tree (the number of nodes between the current node and the root)

Auto Trait Implementations§

§

impl<'a, V> Freeze for NodeMut<'a, V>

§

impl<'a, V = ()> !RefUnwindSafe for NodeMut<'a, V>

§

impl<'a, V> Send for NodeMut<'a, V>

§

impl<'a, V> Sync for NodeMut<'a, V>

§

impl<'a, V> Unpin for NodeMut<'a, V>

§

impl<'a, V = ()> !UnwindSafe for NodeMut<'a, V>

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