Кнопка раскрывающегося списка:
DropdownButton(
value: category,
isExpanded: true,
items: _journalsCategory.map<DropdownMenuItem<int>>((e) {
return DropdownMenuItem
(
child: Text(
e["name"],
),
value: e["id"],
);
}).toList(),
onChanged: (t) {
setState(() {
category = t!;
MediaQuery.of(context).viewInsets.bottom;
});
},
),
_journalsКатегория:
List<Map<String, dynamic>> _journalsCategory = await SQLHelper().getCategory();
getCategory() из SQLHelper.dart:
Future<List<Map<String, dynamic>>?> getCategory() async {
final Database? db = await database;
return db?.rawQuery('SELECT name, id FROM categories');
}
Я прочитал много документации и не понимаю, как решить эту проблему. Мне нужно, чтобы при выборе объекта получался id, потому что он передается в функцию как int, поэтому я прописал DropdownMenuItem. Значение возвращается, но имя выбранного объекта не обновляется.





Я заменил DropDownButton на DropdownButtonFormField.
Похоже, e["id"] один и тот же для нескольких элементов.