clear method

void clear({
  1. bool force = false,
  2. bool removeFromParent = false,
})
inherited

Clears the component, removing the last rendered content.

  • If force is true performs a clear operation even if isRendered returns false.
  • If removeFromParent is true it will also remove the content element from the parent.

Implementation

void clear({bool force = false, bool removeFromParent = false}) {
  if (!force && !isRendered) return;

  if (_renderedElements != null) {
    for (var e in _renderedElements!) {
      if (e is UIComponent) {
        e.delete();
      } else if (e is UIElement) {
        e.remove();
      }
    }
  }

  _renderedAsyncContents.clear();

  var content = _content;

  if (content != null) {
    var elements = content.children.toList();
    for (var e in elements) {
      e.remove();
    }

    content.children.clear();

    if (removeFromParent) {
      content.remove();
    }
  }

  _rendered = false;
}