diff --git a/packages/dropdown_button2/lib/src/dropdown_button2.dart b/packages/dropdown_button2/lib/src/dropdown_button2.dart index 89d082b..df7454d 100644 --- a/packages/dropdown_button2/lib/src/dropdown_button2.dart +++ b/packages/dropdown_button2/lib/src/dropdown_button2.dart @@ -511,6 +511,11 @@ class _DropdownButton2State extends State> with WidgetsBin oldWidget.multiValueListenable?.removeListener(_updateSelectedIndex); widget.valueListenable?.addListener(_updateSelectedIndex); widget.multiValueListenable?.addListener(_updateSelectedIndex); + } else if (widget.items?.length != oldWidget.items?.length || + Iterable.generate(widget.items?.length ?? 0).any((i) => + widget.items![i].enabled != oldWidget.items![i].enabled || + widget.items![i].value != oldWidget.items![i].value)) { + _updateSelectedIndex(); } if (widget.openDropdownListenable != oldWidget.openDropdownListenable) {