Element class abstract
An instantiation of a Component at a particular location in the tree.
Components describe how to configure a subtree but the same component can be used to configure multiple subtrees simultaneously because components are immutable. An Element represents the use of a component to configure a specific location in the tree. Over time, the component associated with a given element can change, for example, if the parent component rebuilds and creates a new component for this location..
- Implemented types
- Implementers
Constructors
Properties
- binding → AppBinding
-
The root component binding that manages the component tree.
no setteroverride
- component → Component
-
The configuration for this element.
no setteroverride
- debugDoingBuild → bool
-
Whether the component is currently updating the component or render tree.
no setterinherited
- depth → int
-
An integer that is guaranteed to be greater than the parent's, if any.
The element at the root of the tree must have a depth greater than 0.
no setter
- dirty → bool
-
no setter
- hashCode → int
-
The hash code for this object.
no setteroverride
- lastRenderObjectElement → RenderObjectElement?
-
no setter
- owner → BuildOwner
-
The root build owner that manages the build cycle.
no setter
- parent → Element?
-
no setter
- parentRenderObjectElement → RenderObjectElement?
-
no setter
- prevAncestorSibling → Element?
-
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
activate(
) → void - Transition from the "inactive" to the "active" lifecycle state.
-
attachNotificationTree(
) → void - Called in Element.mount and Element.activate to register this element in the notification tree.
-
attachRenderObject(
) → void -
deactivate(
) → void - Transition from the "active" to the "inactive" lifecycle state.
-
deactivateChild(
Element child) → void - Move the given element to the list of inactive elements and detach its render object from the render tree.
-
dependOnInheritedComponentOfExactType<
T extends InheritedComponent> ({Object? aspect}) → T? -
Obtains the nearest component of the given type
T
, which must be the type of a concrete InheritedComponent subclass, and registers this build context with that component such that when that component changes (or a new component of that type is introduced, or the component goes away), this build context is rebuilt so that it can obtain new values from that component.override -
dependOnInheritedElement(
InheritedElement ancestor, {Object? aspect}) → InheritedComponent -
Registers this build context with
ancestor
such that whenancestor
's component changes this build context is rebuilt.override -
didChangeDependencies(
) → void - Called when a dependency of this element changes.
-
dispatchNotification(
Notification notification) → void -
Start bubbling this notification at the given build context.
override
-
findAncestorStateOfType<
T extends State< (StatefulComponent> >) → T? -
Returns the State object of the nearest ancestor StatefulComponent component
that is an instance of the given type
T
.override -
forgetChild(
Element child) → void - Remove the given child from the element's child list, in preparation for the child being reused elsewhere in the element tree.
-
getElementForInheritedComponentOfExactType<
T extends InheritedComponent> () → InheritedElement? -
Obtains the element corresponding to the nearest component of the given type
T
, which must be the type of a concrete InheritedComponent subclass.override -
inflateComponent(
Component newComponent, Element? prevSibling) → Element - Create an element for the given component and add it as a child of this element.
-
markNeedsBuild(
) → void - Marks the element as dirty and schedules a rebuild.
-
mount(
Element? parent, Element? prevSibling) → void - Add this element to the tree as a child of the given parent.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
performRebuild(
) → void - Cause the component to update itself.
-
rebuild(
) → void - Cause the component to update itself.
-
toString(
) → String -
A string representation of this object.
inherited
-
unmount(
) → void - Transition from the "inactive" to the "defunct" lifecycle state.
-
update(
covariant Component newComponent) → void - Change the component used to configure this element.
-
updateChild(
Element? child, Component? newComponent, Element? prevSibling) → Element? - Update the given child with the given new configuration.
-
updateLastChild(
Element? child) → void -
updatePrevSibling(
Element? prevSibling) → void -
visitAncestorElements(
bool visitor(Element element)) → void -
Walks the ancestor chain, starting with the parent of this build context's
component, invoking the argument for each ancestor. The callback is given a
reference to the ancestor component's corresponding Element object. The
walk stops when it reaches the root component or when the callback returns
false. The callback must not return null.
override
-
visitChildElements(
ElementVisitor visitor) → void -
Wrapper around visitChildren for BuildContext.
override
-
visitChildren(
ElementVisitor visitor) → void - Calls the argument for each child.
Operators
-
operator ==(
Object other) → bool -
Compare two components for equality.
override