remove method

  1. @override
void remove(
  1. _PopUpList? popUpList,
  2. RenderBox child
)
override

Remove this child from the child list.

Requires the child to be present in the child list.

Implementation

@override
void remove(_PopUpList? popUpList, RenderBox child) {
  final childParentData =
      child.parentData! as MultiSliverMultiBoxAdaptorParentData;
  if (!childParentData._keptAlive) {
    super.remove(popUpList, child);
    return;
  }
  final keepAliveBucket = _keepAliveBucket[popUpList]!;
  assert(keepAliveBucket[childParentData.index] == child);
  assert(() {
    _debugDanglingKeepAlives.remove(child);
    return true;
  }());
  keepAliveBucket.remove(childParentData.index);
  dropChild(child);
  if (keepAliveBucket.isEmpty) _keepAliveBucket.remove(popUpList);
}