familyList<T, Param> static method
Widget
familyList<T, Param>({
- required FutureProvider<
List< provider(T> >- Param
- required Param param,
- required Widget itemBuilder(
- T item,
- int index
- Widget? loading,
- Widget error(
- Object error,
- StackTrace? stackTrace
- EdgeInsets? padding,
- bool shrinkWrap = false,
- ScrollPhysics? physics,
- VoidCallback? onRetry,
- Future<
void> onRefresh()?,
Creates a refreshable list widget with family support
Use this when your provider takes parameters.
Implementation
static Widget familyList<T, Param>({
required FutureProvider<List<T>> Function(Param) provider,
required Param param,
required Widget Function(T item, int index) itemBuilder,
// Customization
Widget? loading,
Widget Function(Object error, StackTrace? stackTrace)? error,
EdgeInsets? padding,
bool shrinkWrap = false,
ScrollPhysics? physics,
// Callbacks
VoidCallback? onRetry,
Future<void> Function()? onRefresh,
}) {
return _StateFamilyWidget<List<T>, Param>(
provider: provider,
param: param,
onRefresh: onRefresh,
onRetry: onRetry,
loading: loading,
error: error,
builder: (items, ref) {
return ListView.builder(
padding: padding,
shrinkWrap: shrinkWrap,
physics: physics,
itemCount: items.length,
itemBuilder: (context, index) => itemBuilder(items[index], index),
);
},
);
}