【发布时间】:2021-04-04 10:34:10
【问题描述】:
我有一个 DropDownButton,它是从一个 SQLite 数据库中填充的,这对于我的应用程序来说现在还可以。但是选择一个条目后,DropDownButton 没有显示选择的条目,只是提示。为了检查我的条目,我尝试用所选条目填充文本字段,但这也没有改变。这是我的 DropDownButton 代码:
List<DropdownMenuItem<String>> teamList;
DropdownMenuItem selectedTeam;
DropdownButton(
hint: Text("Choose"),
value: selectedTeam,
onChanged: (value) {
setState(() {
_teamController.text = value.name;
selectedTeam = value;
});
},
items: teamList,
),
实际上,我在 initstate 中用 coden-p 填充了我的 teamList:
super.initState();
teamList = [];
db.getData().then((listMap) {
listMap.map((map) {
print(map.toString());
return getDropDownWidget(map);
}).forEach((dropDownMenuItem) {
teamList.add(dropDownMenuItem);
});
setState(() {});
});
还有这个:
DropdownMenuItem<String> getDropDownWidget(Map<String, dynamic> map) {
return DropdownMenuItem<String>(
value: map['team'],
child: Text(map['team']),
);
}
在我的 dbhelper 文件中,我有以下代码:
Future<List<Map<String, dynamic>>> getData() async {
var dbClient = await db;
return await dbClient.rawQuery('SELECT team FROM teamTable');
}
【问题讨论】:
标签: flutter