snapWidgetHelper<T> function
Widget
snapWidgetHelper<T>(
- AsyncSnapshot<
T> snap, { - Widget? errorWidget,
- Widget? loadingWidget,
- String? defaultErrorMessage,
- @Deprecated('Do not use this') bool checkHasData = false,
- Widget errorBuilder()?,
Handle error and loading widget when using FutureBuilder or StreamBuilder
Implementation
Widget snapWidgetHelper<T>(
AsyncSnapshot<T> snap, {
Widget? errorWidget,
Widget? loadingWidget,
String? defaultErrorMessage,
@Deprecated('Do not use this') bool checkHasData = false,
Widget Function(String)? errorBuilder,
}) {
if (snap.hasError) {
cklog(snap.error);
if (errorBuilder != null) {
return errorBuilder.call(defaultErrorMessage ?? snap.error.toString());
}
return errorWidget ??
Text(
defaultErrorMessage ?? snap.error.toString(),
style: primaryTextStyle(),
).center();
} else if (!snap.hasData) {
return loadingWidget ?? Loader();
} else {
return SizedBox();
}
}