resetCurrentData method
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');
}
}
}