removeItem method

bool removeItem(
  1. String name,
  2. AntdFormItemState state,
  3. bool preserve
)

Implementation

bool removeItem(String name, AntdFormItemState state, bool preserve) {
  if (!_items.containsKey(name) || _items[name] != state) {
    return false;
  }

  if (name == _lastTouchedName) {
    _lastTouchedName = null;
  }
  _items.remove(name);
  _itemRebuildMark[name]?.dispose();
  _itemRebuildMark.remove(name);
  _feedbackRebuildMark[name]?.dispose();
  _feedbackRebuildMark.remove(name);
  _ruleResult.remove(name);
  _isChanged.remove(name);
  _isTouched.remove(name);
  if (preserve) {
    _preserveNames.add(name);
  } else {
    _initValue.remove(name);
    _value.remove(name);
  }

  _dependencies.removeWhere((key, value) => value.contains(name));
  for (var entry in _dependencies.entries) {
    entry.value.remove(name);
  }
  WidgetsBinding.instance.addPostFrameCallback((_) {
    if (_dispose) {
      return;
    }
    _notifyFieldsChanges([name], false, [..._items.keys]);
  });
  return true;
}