тип «Список <void>» не является подтипом типа «Список» ' - PullRequest
0 голосов
/ 25 января 2020

У меня проблемы с простой печатью того, что внутри DropdownButton, зацикливая результаты запроса API, который извлекает следующее:

[{id: 1, nome: foo}, ...]

Это код для него.

return _response.data.map<Client>((i) => Client.fromJson(i)).toList(); 

Что странно, при печати переменной, в которой хранится вышеуказанный вызов, будет [Instance of 'Client', ...]

Затем, в представлении, я пытаюсь по крайней мере напечатать каждый элемент:

DropdownButton<Client>(
  onChanged: (client) => print(client),
  items: _controller.clients
      .map(
        (i) => print(i),
      )
      .toList(),

Но type 'List<void>' is not a subtype of type 'List<DropdownMenuItem<Client>>'. Я уже потерян.

1 Ответ

3 голосов
/ 25 января 2020

Там, где вы печатаете i, вместо этого вам нужно вернуть DropDownMenuItem (с ребенком)

Например:

  items: _controller.clients.map((e) => DropDownMenuItem(value: e, child: Text(e.nome))).toList(),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...