jumpTo method

Future jumpTo({
  1. required GlobalKey<State<StatefulWidget>> nestedScrollViewKey,
  2. required SliverObserverController observerController,
  3. required NestedScrollUtilPosition position,
  4. required int index,
  5. required BuildContext? sliverContext,
  6. bool isFixedHeight = false,
  7. double alignment = 0,
  8. EdgeInsets padding = EdgeInsets.zero,
  9. ObserverLocateIndexOffsetCallback? offset,
  10. ObserverRenderSliverType? renderSliverType,
})

Jump to the specified index position.

Implementation

Future jumpTo({
  required GlobalKey nestedScrollViewKey,
  required SliverObserverController observerController,
  required NestedScrollUtilPosition position,
  required int index,
  required BuildContext? sliverContext,
  bool isFixedHeight = false,
  double alignment = 0,
  EdgeInsets padding = EdgeInsets.zero,
  ObserverLocateIndexOffsetCallback? offset,
  ObserverRenderSliverType? renderSliverType,
}) {
  assert(outerScrollController != null, 'outerScrollController is null');
  assert(bodyScrollController != null, 'bodyScrollController is null');
  if (outerScrollController == null) return Future.value();
  if (bodyScrollController == null) return Future.value();
  switchScrollController(
    observerController: observerController,
    position: position,
  );

  return observerController.jumpTo(
    index: index,
    sliverContext: sliverContext,
    isFixedHeight: isFixedHeight,
    alignment: alignment,
    padding: padding,
    offset: offset,
    renderSliverType: renderSliverType,
    onPrepareScrollToIndex: handleOnPrepareScrollToIndex(
      nestedScrollViewKey: nestedScrollViewKey,
      position: position,
      outerScrollController: outerScrollController!,
      offset: offset,
    ),
  );
}