DropdownButton:“对象?”类型的值无法分配给“String”类型的变量?

问题描述 投票:0回答:1

我试图制作一个下拉按钮,其中包含我的数据库(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!;
    });

并且没有工作

flutter dart
1个回答
0
投票

改变

setState(() {
   selectedCategory=value;
});

setState(() {
   selectedCategory = value as String?;
});
© www.soinside.com 2019 - 2024. All rights reserved.