ComponentElement class
An Element that composes other Elements.
Rather than creating a RenderObject directly, a ComponentElement creates RenderObjects indirectly by creating other Elements.
Contrast with RenderObjectElement.
- Inheritance
- Object
- Diagnosticable
- DiagnosticableTree
- Element
- ComponentElement
- Implementers
Constructors
- ComponentElement(Widget widget)
- Creates an element that uses the given widget as its configuration.
Properties
- 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.
read-only, inherited
- dirty → bool
-
Returns true if the element has been marked as needing rebuilding.
read-only, inherited
- hashCode → int
-
The hash code for this object. [...]
read-only, inherited
- owner → BuildOwner
-
The object that manages the lifecycle of this element.
read-only, inherited
- renderObject → RenderObject
-
The render object at (or below) this location in the tree. [...]
read-only, inherited
- runtimeType → Type
-
A representation of the runtime type of the object.
read-only, inherited
- size → Size
-
The size of the RenderBox returned by findRenderObject. [...]
read-only, inherited
- slot → dynamic
-
Information set by parent to define where this child fits in its parent's
child list. [...]
read-only, inherited
- widget → Widget
-
The configuration for this element.
read-only, inherited
Methods
-
build(
) → Widget -
Subclasses should override this function to actually call the appropriate
build
function (e.g., StatelessWidget.build or State.build) for their widget.@protected -
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. [...]
override
-
mount(
Element parent, dynamic newSlot) → void -
Add this element to the tree in the given slot of the given parent. [...]
override
-
performRebuild(
) → void -
Calls the StatelessWidget.build method of the StatelessWidget object
(for stateless widgets) or the State.build method of the State object
(for stateful widgets) and then updates the widget tree. [...]
override
-
visitChildren(
ElementVisitor visitor) → void -
Calls the argument for each child. Must be overridden by subclasses that
support having children. [...]
override
-
activate(
) → void -
Transition from the "inactive" to the "active" lifecycle state. [...]
@mustCallSuper, inherited
-
ancestorInheritedElementForWidgetOfExactType(
Type targetType) → InheritedElement -
Obtains the element corresponding to the nearest widget of the given type,
which must be the type of a concrete InheritedWidget subclass. [...]
inherited
-
ancestorRenderObjectOfType(
TypeMatcher matcher) → RenderObject -
Returns the RenderObject object of the nearest ancestor RenderObjectWidget widget
that matches the given TypeMatcher. [...]
inherited
-
ancestorStateOfType(
TypeMatcher matcher) → State< StatefulWidget> -
Returns the State object of the nearest ancestor StatefulWidget widget
that matches the given TypeMatcher. [...]
inherited
-
ancestorWidgetOfExactType(
Type targetType) → Widget -
Returns the nearest ancestor widget of the given type, which must be the
type of a concrete Widget subclass. [...]
inherited
-
attachRenderObject(
dynamic newSlot) → void -
Add renderObject to the render tree at the location specified by slot. [...]
inherited
-
deactivate(
) → void -
Transition from the "active" to the "inactive" lifecycle state. [...]
@mustCallSuper, inherited
-
deactivateChild(
Element child) → void -
Move the given element to the list of inactive elements and detach its
render object from the render tree. [...]
@protected, inherited
-
debugDeactivated(
) → void -
Called, in debug mode, after children have been deactivated (see deactivate). [...]
@mustCallSuper, inherited
-
debugDescribeChildren(
) → List< DiagnosticsNode> -
Returns a list of DiagnosticsNode objects describing this node's
children. [...]
inherited
-
debugFillProperties(
DiagnosticPropertiesBuilder properties) → void -
Add additional properties associated with the node. [...]
inherited
-
debugGetCreatorChain(
int limit) → String -
Returns a description of what caused this element to be created. [...]
inherited
-
debugGetDiagnosticChain(
) → List< Element> -
Returns the parent chain from this element back to the root of the tree. [...]
inherited
-
debugVisitOnstageChildren(
ElementVisitor visitor) → void -
Calls the argument for each child considered onstage. [...]
inherited
-
detachRenderObject(
) → void -
Remove renderObject from the render tree. [...]
inherited
-
didChangeDependencies(
) → void -
Called when a dependency of this element changes. [...]
@mustCallSuper, inherited
-
findRenderObject(
) → RenderObject -
The current RenderObject for the widget. If the widget is a
RenderObjectWidget, this is the render object that the widget created
for itself. Otherwise, it is the render object of the first descendant
RenderObjectWidget. [...]
inherited
-
inflateWidget(
Widget newWidget, dynamic newSlot) → Element -
Create an element for the given widget and add it as a child of this
element in the given slot. [...]
@protected, inherited
-
inheritFromElement(
InheritedElement ancestor, { Object aspect }) → InheritedWidget -
Registers this build context with
ancestor
such that whenancestor
's widget changes this build context is rebuilt. [...]inherited -
inheritFromWidgetOfExactType(
Type targetType, { Object aspect }) → InheritedWidget -
Obtains the nearest widget of the given type, which must be the type of a
concrete InheritedWidget subclass, and registers this build context with
that widget such that when that widget changes (or a new widget of that
type is introduced, or the widget goes away), this build context is
rebuilt so that it can obtain new values from that widget. [...]
inherited
-
markNeedsBuild(
) → void -
Marks the element as dirty and adds it to the global list of widgets to
rebuild in the next frame. [...]
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a non-existent method or property is accessed. [...]
inherited
-
rebuild(
) → void -
Called by the BuildOwner when BuildOwner.scheduleBuildFor has been
called to mark this element dirty, by mount when the element is first
built, and by update when the widget has changed.
inherited
-
rootAncestorStateOfType(
TypeMatcher matcher) → State< StatefulWidget> -
Returns the State object of the furthest ancestor StatefulWidget widget
that matches the given TypeMatcher. [...]
inherited
-
toDiagnosticsNode(
{String name, DiagnosticsTreeStyle style }) → DiagnosticsNode -
Returns a debug representation of the object that is used by debugging
tools and by toStringDeep. [...]
inherited
-
toString(
{DiagnosticLevel minLevel: DiagnosticLevel.debug }) → String -
Returns a string representation of this object.
inherited
-
toStringDeep(
{String prefixLineOne: '', String prefixOtherLines, DiagnosticLevel minLevel: DiagnosticLevel.debug }) → String -
Returns a string representation of this node and its descendants. [...]
inherited
-
toStringShallow(
{String joiner: ', ', DiagnosticLevel minLevel: DiagnosticLevel.debug }) → String -
Returns a one-line detailed description of the object. [...]
inherited
-
toStringShort(
) → String -
A short, textual description of this element.
inherited
-
unmount(
) → void -
Transition from the "inactive" to the "defunct" lifecycle state. [...]
@mustCallSuper, inherited
-
update(
covariant Widget newWidget) → void -
Change the widget used to configure this element. [...]
@mustCallSuper, inherited
-
updateChild(
Element child, Widget newWidget, dynamic newSlot) → Element -
Update the given child with the given new configuration. [...]
@protected, inherited
-
updateSlotForChild(
Element child, dynamic newSlot) → void -
Change the slot that the given child occupies in its parent. [...]
@protected, inherited
-
visitAncestorElements(
bool visitor(Element element)) → void -
Walks the ancestor chain, starting with the parent of this build context's
widget, invoking the argument for each ancestor. The callback is given a
reference to the ancestor widget's corresponding Element object. The
walk stops when it reaches the root widget or when the callback returns
false. The callback must not return null. [...]
inherited
-
visitChildElements(
ElementVisitor visitor) → void -
Wrapper around visitChildren for BuildContext.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator. [...]
inherited