onChanged method

void onChanged(
  1. String? value, {
  2. bool triggerImmediately = false,
})

Implementation

void onChanged(
  String? value, {
  bool triggerImmediately = false,
}) async {
  String searchValue = value ?? '';
  if (onSearch == null) {
    _pendingValue = '';
    return;
  }

  if (settings.searchTriggerType == SearchTriggerType.automatic) {
    if (_pendingValue != value) {
      _timer?.cancel();
      _pendingValue = searchValue;
      _timer = Timer(
        settings.searchDelay,
        _onTimer,
      );
    }
  } else {
    _timer?.cancel();
    _timer = null;
  }
  if (triggerImmediately) {
    _pendingValue = searchValue;
    onSearch!(_pendingValue);
  }
}