为什么setstate函数不能与下拉菜单一起工作



我在flutter中创建了一个下拉菜单,它接受一个Map<String,>作为一个值列表。但是setState不起作用。我又做错什么了

Map<String, int> grades = {
"AA": 5,
"BB": 4,
};
int val=5;
@override
Widget build(BuildContext context) {
return Scaffold(
body: DropdownButton<int>(
value: grades["AA"],
onChanged: (newVal){
setState((){
if(newVal!=null){  val=newVal;}
});
},
items: grades
.map((key, value) {
return MapEntry(
key,
DropdownMenuItem<int>(
value: value,
child: Text(key),
));
})
.values
.toList(),
));

DropdownButton值为硬编码(value: grades["AA"],),替换

body: DropdownButton<int>(
value: grades["AA"],

body: DropdownButton<int>(
value: val,

相关内容

  • 没有找到相关文章

最新更新