У меня есть список, полученный с предыдущей страницы, и я хочу поместить его в раскрывающееся меню, список содержит много элементов:
List myItems = [];
getItem() {
categories.forEach((item) {
print(item.name); //----------the print result is correct
myItems.add(item.name);
});
return myItems;
}
Я помещаю это в выпадающее меню:
DropdownButton(
onChanged: (v) {
_selected = prod.get_cat(v);
},
elevation: 16,
style: TextStyle(
color: Colors.black,
fontWeight: FontWeight.bold,
fontSize: 22),
underline: SizedBox(),
value: _selected,
items:
getItem().map<DropdownMenuItem<String>>((value) {
return DropdownMenuItem<String>(
value: value[id],
child: Center(child: Text(value[name])),
);
}).toList(),
)
изменение значения в provider :
get_cat(id) {
_selectedValue = id;
return _selectedValue;
}
Я получаю сообщение об ошибке:
A non-null String must be provided to a Text widget. 'package:flutter/src/widgets/text.dart': Failed assertion: line 370 pos 10: 'data != null'
Как я могу это решить?
Идентификаторы должны быть строками.
value: value['id'],
child: Center(child: Text(value['name'])),