在扑朔迷离中,我使用TMDB API并从那里获取流派名称,并希望在我的DropdownButton上显示它们,但出现此错误。
不能分配参数类型列表
>> 参数类型为'List >
{
"genres": [
{
"id": 28,
"name": "Action"
},
{
"id": 12,
"name": "Adventure"
},
{
"id": 16,
"name": "Animation"
}, .......]
}
这是json。
return DropdownButton(
items: [ snapGenre.data.genres.map((map) => DropdownMenuItem(child: Text(map.name),value: map.id,))]
);
}
这是我尝试过的部分。
简而言之,我想根据我从API获得的流派名称返回/创建一个dropDownMenuItem。我想念哪一部分,您能帮我吗?
答案 0 :(得分:2)
您要通过使用List
声明一个[]
,然后在其中映射数据,所以最终在Iterable
中使用List
。相反,您必须删除[]
并在最后将Iterable
转换为List
:
return DropdownButton(
items: snapGenre.data.genres.map((map) => DropdownMenuItem(
child: Text(map.name),
value: map.id,
),
).toList(),
);