updateChild method

  1. @override
Element updateChild (
  1. Element child,
  2. Widget newWidget,
  3. dynamic newSlot
)
override

Copied from SliverMultiBoxAdaptorElement.updateChild.

Implementation

@override
Element updateChild(
    final Element child, final Widget newWidget, final dynamic newSlot) {
  final oldParentData =
      child?.renderObject?.parentData as SliverMultiBoxAdaptorParentData;
  final newChild = super.updateChild(child, newWidget, newSlot);
  final newParentData =
      newChild?.renderObject?.parentData as SliverMultiBoxAdaptorParentData;

  // Preserve the old layoutOffset if the renderObject was swapped out.
  if (oldParentData != newParentData &&
      oldParentData != null &&
      newParentData != null) {
    newParentData.layoutOffset = oldParentData.layoutOffset;
  }
  return newChild;
}