diff --git a/lib/select_form_field.dart b/lib/select_form_field.dart index a2f6c9a..9cc140d 100644 --- a/lib/select_form_field.dart +++ b/lib/select_form_field.dart @@ -517,6 +517,21 @@ class _SelectFormFieldState extends FormFieldState { void _handleControllerChanged() { if (_effectiveController?.text != value) { + _item = widget.items?.firstWhere( + (lmItem) => lmItem['value'].toString() == _effectiveController?.text, + orElse: () => {}, + ); + + if (_item!.length > 0) { + _labelController.text = + _item!['label']?.toString() ?? _item!['value']!.toString(); + + if (widget.changeIcon && + _item?['icon'] != null && + _item?['icon'] != '') { + _icon = _item?['icon']; + } + } didChange(_effectiveController?.text); } }