setValue method

void setValue(
  1. String fieldName,
  2. dynamic value
)

Implementation

void setValue(String fieldName, dynamic value) {
  if (_isDisposed) {
    return;
  }

  fieldName = _getCachedFieldName(fieldName);
  final oldValue = _data[fieldName];

  if (oldValue != value) {
    _data[fieldName] = value;

    // Track changed fields
    if (_originalData[fieldName] != value) {
      _changedFields.add(fieldName);
    } else {
      _changedFields.remove(fieldName);
    }

    // Smart notification
    if (!_isBatchMode && hasListeners) {
      notifyListeners();
    }
  }
}