From b287d62aa9a7da804107e4d9576118e76fc0b70d Mon Sep 17 00:00:00 2001 From: Miguel Angel Date: Tue, 28 Dec 2021 15:42:00 -0300 Subject: [PATCH 1/2] refresh _labelController after _handleControllerChanged --- lib/select_form_field.dart | 15 +++++++++++++++ 1 file changed, 15 insertions(+) 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); } } From d89cd4eb512f3bc1cb62c859e2e122416bd93d30 Mon Sep 17 00:00:00 2001 From: Miguel Angel Date: Tue, 28 Dec 2021 19:08:41 -0300 Subject: [PATCH 2/2] fixed drop down button doesn't work --- lib/select_form_field.dart | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/select_form_field.dart b/lib/select_form_field.dart index 9cc140d..bbf70ed 100644 --- a/lib/select_form_field.dart +++ b/lib/select_form_field.dart @@ -217,7 +217,9 @@ class SelectFormField extends FormField { width: 10, margin: EdgeInsets.all(0), child: TextButton( - onPressed: () {}, + onPressed: type == SelectFormFieldType.dialog + ? state._showSelectFormFieldDialog + : state._showSelectFormFieldMenu, child: Icon(Icons.arrow_drop_down), ), ),