update method

  1. @override
void update(
  1. Widget newWidget
)
override

Updates this element to use a new Widget configuration.

Implementation

@override
void update(Widget newWidget) {
  final oldWidget = widget as ElementWidget;
  super.update(newWidget);
  final w = widget as ElementWidget;
  final currentEl = oldWidget.internalElement;
  if (currentEl != null && Widget.canUpdate(currentEl.widget, w.child)) {
    w.internalElement = currentEl;
    currentEl.update(w.child);
  } else {
    currentEl?.unmount();
    w.internalElement = w.child.createElement()..mount(this);
  }
}