Implement LoadContainer for state management
masterThe LoadContainer widget manages three built-in states: loading, network error, and empty data. You control these states via a LoadController (which uses BaseControllerMixin).
To use it:
- Create a
LoadControllerand instantiate aLoadController?property. - Use
loadController?.loading(),loadController?.error(), orloadController?.empty()to trigger state changes. - Wrap your content in a
LoadContainerand provide theonReLoadcallback.
Each state's widget can be customized.
// Controller implementation
class LoadContainerController extends GetxController with BaseControllerMixin {
@override
String get builderId => 'loadContainer';
LoadController? loadController = LoadController();
void onLoad() {
loadController?.loading();
// Perform logic then call complete()
loadController?.complete();
}
void onEmpty() {
loadController?.loading();
loadController?.empty();
}
void onError() {
loadController?.loading();
loadController?.error();
}
}
// Widget implementation
LoadContainer(
controller: controller.loadController!,
onReLoad: controller.onLoad,
child: _buildView(),
)