Я создаю приложение Corona, и я хочу, чтобы если вы выберете страну из раскрывающегося списка, она покажет количество зараженных, умерших и выздоровевших. когда я меняю значение item ['Country'] только на item, я получаю всю информацию о стране, которую я выбрал, но затем, когда я меняю _mySelection = newVal на _mySelection = newval ['Country'], я получаю сообщение об ошибке.
There should be exactly one item with [DropdownButton]'s value: Australia.
Either zero or 2 or more [DropdownMenuItem]s were detected with the same value
'package:flutter/src/material/dropdown.dart':
Failed assertion: line 827 pos 15: 'items == null || items.isEmpty || value == null ||
items.where((DropdownMenuItem<T> item) {
return item.value == value;
}).length == 1'
Если вы знаете решение, как я могу получить информацию, дайте мне знать.
Раскрывающийся список
child: new DropdownButton(
hint: Text(Country, style: TextStyle(fontSize: 18, color: Colors.black),
),
isExpanded: true,
items: data.map((item) {
return new DropdownMenuItem(
child: new AutoSizeText(item['Country']),
value: item['Country'],
);
}).toList(),
onChanged: (newVal) {
setState(() {
_mySelection = newVal;
});
},
value: _mySelection,
),
Statresbody пример Страны содержат все страны с той же информацией, что и Афганистан в этом примере
{
"Global": {
"NewConfirmed": 174744,
"TotalConfirmed": 8764876,
"NewDeaths": 6071,
"TotalDeaths": 468396,
"NewRecovered": 90678,
"TotalRecovered": 4245126
},
"Countries": [
{
"Country": "Afghanistan",
"CountryCode": "AF",
"Slug": "afghanistan",
"NewConfirmed": 346,
"TotalConfirmed": 27878,
"NewDeaths": 2,
"TotalDeaths": 548,
"NewRecovered": 302,
"TotalRecovered": 7962,
"Date": "2020-06-20T19:19:28Z"
},