我在更改SearchDropdown对象中的状态时遇到问题。如果已选择项目,则该值不会更改。如果我删除它,那么我可以更改状态。我不明白问题出在哪里。
@override
void initState() {
_dropdownPlatformReach =
buildDropdownMenuItemsPlatformReach(_platformReach);
_selectedPlatformReach = _dropdownPlatformReach[0].value;
super.initState();
}
Expanded(
child: SearchableDropdown.single(
isExpanded: true,
value: _selectedPlatformReach,
hint: " ",
items: _dropdownPlatformReach,
onChanged: (PlatformReach selectedPlatformReach) {
setState(() {
_selectedPlatformReach = selectedPlatformReach;
});
},
),
flex: 2,
),
class PlatformReach {
String name;
String hint;
PlatformReach(this.name, this.hint);
static List<PlatformReach> getPlatformReach() {
return <PlatformReach>[
PlatformReach('Jud Galati', '(RO, [Galati] County)'),
PlatformReach('Jud Braila', '(RO, [Braila] County)'),
PlatformReach('Jud Prahova', '(RO, [Ploiesti] County)'),
PlatformReach('Jud Maramures', '(RO, [Baia Mare] County)'),
];
}
}
我解决了这个问题。
似乎是因为我在同一页上有另一个下拉列表,所以setState没有为另一个更改。
我通过在单独的文件中移动每个下拉窗口小部件来解决这个问题。