我试图制作一个下拉按钮,其中包含我的数据库(mysql)中的元素,但我收到此错误
A value of type 'Object?' can't be assigned to a variable of type 'String?'.
这是我的代码:
String? selectedCategory;
List categoryItem=[];
....
DropdownButton(
value: selectedCategory,
hint: Text('Select category'),
items: categoryItem.map((category) {
return DropdownMenuItem(
value: category['name'],
child: Text(category['name']));
}).toList(),
onChanged: ( value){
setState(() {
selectedCategory=value;
});
},
isExpanded: true,
),
问题就在这里:
onChanged: ( value){
setState(() {
selectedCategory=value;
});
我试过这个:
onChanged: (String? newValue) {
setState(() {
selectedCategory = newValue!;
});
并且没有工作
改变
setState(() {
selectedCategory=value;
});
到
setState(() {
selectedCategory = value as String?;
});