GetxFutureController class abstract
Why use a GetxFutureController? This controller type can be used to change the UI when a page is loading, whether it has an error or is completed. This is heavily based on the future state management found in stacked package and architecture.
IMPORTANT:
This controller will only work if using Get's simple state management
solution GetBuilder
. Don't worry, you don't need to call this builder
widget in your code, just use the GetBuilderView widget for a cleaner
solution! 😅
To use it, add the required overridden method futureToRun. This method
optionally call the fields isLoading, hasError and error inside your view to make changes to your UI. Your page's state will update on
Column(
children: [
if (controller.isBusy)
const CircularProgressIndicator.adaptive()
else if (controller.hasError)
Text(controller.error!)
else
const Text('Content'),
],
),
- Inheritance
-
- Object
- GetLifeCycle
- DisposableInterface
- GetxController
- GetxReactiveController
- GetxFutureController
- Implemented types
- Implementers
Constructors
Properties
- error ↔ String?
-
The error value can be used within your UI to display a message when
data can't be retrieved.
getter/setter pair
- hasError → bool
-
Call this as a shorthand for
error != null
.no setter - hashCode → int
-
The hash code for this object.
no setterinherited
- hasListeners → bool
-
no setterinherited
- initialized → bool
-
Checks whether the controller has already been initialized.
no setterinherited
- isBusy → bool
-
Use this to get if loading or reloading as a catch all
no setter
- isClosed → bool
-
Checks whether the controller has already been closed.
no setterinherited
- isLoading → bool
-
The isLoading bool defaults to false but will show as true when awaiting
the futureToRun function to complete. Once completed, this will simply
toggle back to false.
no setter
- isReloading → bool
-
The isLoading bool defaults to false but will show as true when awaiting
the futureToRun function to complete. Once completed, this will simply
toggle back to false.
no setter
- listeners → int
-
no setterinherited
-
listenTo
→ List<
GetxController> -
List of controllers to react to
no setterinherited
-
onDelete
→ InternalFinalCallback<
void> -
Internal callback that starts the cycle of this controller.
finalinherited
-
onStart
→ InternalFinalCallback<
void> -
Called at the exact moment the widget is allocated in memory.
It uses an internal "callable" type, to avoid any @overrides in subclases.
This method should be internal and is required to define the
lifetime cycle of the subclass.
finalinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
$configureLifeCycle(
) → void -
inherited
-
addListener(
GetStateUpdate listener) → Disposer -
Register a closure to be called when the object notifies its listeners.
inherited
-
addListenerId(
Object? key, GetStateUpdate listener) → Disposer -
inherited
-
dispose(
) → void -
inherited
-
disposeId(
Object id) → void -
To dispose an
id
from future updates(), this ids are registered byGetBuilder()
or similar, so is a way to unlink the state change with the Widget from the Controller.inherited -
futureToRun(
) → Future< String?> - Runs a future. Whilst running, is busy will be set to true and
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
notifyChildrens(
) → void -
inherited
-
onClose(
) → void -
Called before
onDelete
method.onClose
might be used to dispose resources used by the controller. Like closing events, or streams before the controller is destroyed. Or dispose objects that can potentially create some memory leaks, like TextEditingControllers, AnimationControllers. Might be useful as well to persist some data on disk.inherited -
onInit(
) → Future< void> -
Called immediately after the widget is allocated in memory.
You might use this to initialize something for the controller.
override
-
onReady(
) → void -
Called 1 frame after onInit(). It is the perfect place to enter
navigation events, like snackbar, dialogs, or a new route, or
async request.
inherited
-
refresh(
) → void -
inherited
-
refreshGroup(
Object id) → void -
inherited
-
reload(
) → Future< void> - Call if you want to re-run the future to run. Is busy will be set to true.
-
removeListener(
VoidCallback listener) → void -
Remove a previously registered closure from the list of closures that the
object notifies.
inherited
-
removeListenerId(
Object id, VoidCallback listener) → void -
inherited
-
setLoading(
[bool? isLoading]) → void - Toggle loading
-
setReloading(
[bool? isReloading]) → void - Toggle Reloading!
-
toString(
) → String -
A string representation of this object.
inherited
-
update(
[List< Object> ? ids, bool condition = true]) → void -
Rebuilds
GetBuilder
each time you callupdate()
; Can take a List ofids
, that will only update the matchingGetBuilder( id: )
,ids
can be reused amongGetBuilders
like group tags. The update will only notify the Widgets, ifcondition
is true.inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited