XAsyncView<T> class

Renders initial, loading, data, empty, and error states consistently.

The widget does not fetch or own application state. This makes it usable with every state-management solution while still removing repetitive conditional UI code.

Inheritance

Constructors

XAsyncView({required XAsyncState<T> state, required XAsyncDataBuilder<T> dataBuilder, Key? key, VoidCallback? onRetry, WidgetBuilder? initialBuilder, WidgetBuilder? loadingBuilder, WidgetBuilder? emptyBuilder, XAsyncErrorBuilder? errorBuilder, bool showPreviousDataWhileLoading = false, Duration transitionDuration = Duration.zero, AnimatedSwitcherTransitionBuilder? transitionBuilder})
const

Properties

dataBuilder XAsyncDataBuilder<T>
Builds successful data.
final
emptyBuilder WidgetBuilder?
Builds the successful empty state.
final
errorBuilder XAsyncErrorBuilder?
Builds the error state.
final
hashCode int
The hash code for this object.
no setterinherited
initialBuilder WidgetBuilder?
Builds the state before work starts.
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
loadingBuilder WidgetBuilder?
Builds the loading state.
final
onRetry VoidCallback?
Called by the default or custom error UI when retry is requested.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
showPreviousDataWhileLoading bool
Keeps rendering previous data when a loading state contains it.
final
state XAsyncState<T>
State to render.
final
transitionBuilder AnimatedSwitcherTransitionBuilder?
Optional custom transition used by the internal AnimatedSwitcher.
final
transitionDuration Duration
Duration used to animate between states.
final

Methods

build(BuildContext context) Widget
Describes the part of the user interface represented by this widget.
override
createElement() StatelessElement
Creates a StatelessElement to manage this widget's location in the tree.
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
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) 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 widget.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited