willDetachRenderer method

  1. @override
void willDetachRenderer([
  1. RenderObjectElement? flutterWidgetElement
])
override

A render object previously associated with this Node will be / has been removed from the tree. The given RenderObject will be of the same type as returned by this object's createRenderer.

Implementation

@override
void willDetachRenderer([flutter.RenderObjectElement? flutterWidgetElement]) {
  super.willDetachRenderer(flutterWidgetElement);

  if (!renderStyle.hasRenderBox()) {
    // Cancel running transition.
    renderStyle.cancelRunningTransition();

    // Cancel running animation.
    renderStyle.cancelRunningAnimation();

    ownerView.window.unwatchViewportSizeChangeForElement(this);
  }

  // Remove all intersection change listeners.
  renderStyle.clearIntersectionChangeListeners(flutterWidgetElement);
  renderStyle.removeRenderObject(flutterWidgetElement);
}