gpt4 book ai didi

dart - flutter 中的下拉按钮不会将值切换到所选值

转载 作者:IT老高 更新时间:2023-10-28 12:34:18 29 4
gpt4 key购买 nike

我最近开始使用 dart 和 Flutter 进行编程,我的应用程序一切顺利,尽管最近我想添加下拉菜单,以便为用户提供多种选择。一切都按计划进行,但是当我从列表中选择一个值时,它不会更改框中的值,它会返回到提示或空框。任何帮助将不胜感激!

这是我的下拉按钮代码:

Widget buildDropdownButton() {
String newValue;

return new Padding(
padding: const EdgeInsets.all(24.0),
child: new Column(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
new ListTile(
title: const Text('Frosting'),
trailing: new DropdownButton<String>(
hint: Text('Choose'),
onChanged: (String changedValue) {
newValue=changedValue;
setState(() {
newValue;
print(newValue);
});
},
value: newValue,
items: <String>['None', 'Chocolate', 'Vanilla', 'ButterCream']
.map((String value) {
return new DropdownMenuItem<String>(
value: value,
child: new Text(value),
);
}).toList()),
),
],
),
);
}

最佳答案

错误是因为您声明了一个方法变量 newValue,您必须在 StatefulWidget 中将该变量声明为全局变量。

   String newValue;

Widget buildDropdownButton() {
return new Padding(
padding: const EdgeInsets.all(24.0),
child: new Column(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
new ListTile(
title: const Text('Frosting'),
trailing: new DropdownButton<String>(
hint: Text('Choose'),
onChanged: (String changedValue) {
newValue=changedValue;
setState(() {
newValue;
print(newValue);
});
},
value: newValue,
items: <String>['None', 'Chocolate', 'Vanilla', 'ButterCream']
.map((String value) {
return new DropdownMenuItem<String>(
value: value,
child: new Text(value),
);
}).toList()),
),
],
),
);
}

关于dart - flutter 中的下拉按钮不会将值切换到所选值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51735906/

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