resetCurrentData method

void resetCurrentData(
  1. List<String> values
)

Implementation

void resetCurrentData(List<String> values) {
  if (values.isEmpty) {
    _selectedItem = null;
    _selectedItems.clear();
    _textEditingController.clear();
    return;
  }
  if (widget.isSelectOne) {
    final find = _menuChildren.firstWhereOrNull((element) => element.key == values.first);
    if (find != null) {
      _selectedItem = MapEntry(values.first, find);
      _textEditingController.text = _selectedItem!.value.label;
    }
  } else {
    try {
      _selectedItems.clear();
      _selectedItems.addAll(Map.fromEntries(_menuChildren
          .where((element) => values.contains(element.key))
          .map((e) => MapEntry(e.key, e))));
      _textEditingController.text = _selectedItems.values.map((e) => e.label).join(', ');
    } catch (e) {
      BasicLogger.errorLog('BasicInputTypeAhead resetCurrentData $e');
    }
  }
}