removeItem method
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;
}