gpt4 book ai didi

Flutter dropdownButton setState 在选择后更改时不更新下拉文本以显示所选项目

转载 作者:行者123 更新时间:2023-12-05 09:06:21 32 4
gpt4 key购买 nike

我创建了一个 dropdownButton 以允许用户从下拉列表中进行选择,该列表将通过 API 填充。现在我正在使用我创建的列表进行填充。

目前该按钮正在显示我的列表中的项目,但在做出选择后,列表不显示所选项目,但仍显示提示文本。我希望发生的是在做出选择之后,dropdownButton 显示被选择的项目而不是提示文本。

在 onChanged 方法中,我添加了一个 setState,希望将 _selectedValue 变量更新为选定的值并将其显示在 dropdownButton 中。

我还在我的 setState 方法中添加了一个打印语句,它会触发并显示值变量中的值。

这是我的代码。

List<DropdownMenuItem<int>> listItems = [DropdownMenuItem(child: Text("2016"), value: 2016,), DropdownMenuItem(child: Text("2021"), value: 2021,)];
int _selectedValue;

body: DropdownButton(
value: _selectedValue,
items: listItems,
hint: Text("Select Year"),
onChanged: (int value){
setState(() {
_selectedValue = value;
print(value);
});
},
),

最佳答案

您的代码很好,但问题可能是您正在 build() 方法中初始化 _selectedValue。因此,无论何时调用 set state,小部件都会重建并使用默认值再次初始化。

int _selectedValue;
@override
Widget build(BuildContext context) {
return DropdownButton(
value: _selectedValue,
items: listItems,
hint: Text("Select Year"),
onChanged: (int value){
setState(() {
_selectedValue = value;
print(value);
});
},
),

关于Flutter dropdownButton setState 在选择后更改时不更新下拉文本以显示所选项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66147510/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com