我在顫振中做了一個下拉選單,它采用 Map<String, int> 作為值串列。但是 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(),
));
uj5u.com熱心網友回復:
DropdownButton值是硬編碼的(value: grades["AA"],),替換
body: DropdownButton<int>(
value: grades["AA"],
和
body: DropdownButton<int>(
value: val,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/491011.html
標籤:扑
下一篇:具有模板型別的聯合類
