Создайте кнопку раскрывающегося списка из списка карт - PullRequest
0 голосов
/ 17 июня 2020

Я пытаюсь создать раскрывающуюся кнопку со списком карт.

Это мой список, который находится в _location['category']:

[{id: 12345, title: My category}]

И DropdownButton:

          DropdownButton(
            items: _location['category'].map((item) {
              return DropdownMenuItem(
                child: Text(item['title']),
                value: item.id,
              );
            }),
            onChanged: (newVal) => print(newVal),
            value: null,
          ),

Ошибка: The following _TypeError was thrown building LocationDialog(dirty, state: _LocationDialogState#6947a): type 'MappedListIterable<dynamic, dynamic>' is not a subtype of type 'List<DropdownMenuItem<Null>>'

1 Ответ

0 голосов
/ 17 июня 2020

Добавьте .toList(), чтобы ваш .map Список. Приведенный ниже код должен помочь

Создайте где-нибудь List с именем category, а затем используйте его с DropdownButton

List category = _location['category'];
          DropdownButton(
            items: category.map((item) {
              return DropdownMenuItem(
                child: Text(item['title']),
                value: item.id,
              );
            }).toList(),
            onChanged: (newVal) => print(newVal),
            value: null,
          ),
...