Тип аргумента 'Iterable>' не может быть назначен типу параметра 'List' - PullRequest
0 голосов
/ 13 февраля 2020

Я пытаюсь сгруппировать список по приведенному ниже коду

var b = groupBy(value[index],(ABC item) => item.id);
dropDownMenuItem = buildDropDownMenuItems(b.values);

Теперь b = Map<String, List<ABC>>

В buildDropDownMenuItems, я хочу передать List<ABC>

List<DropdownMenuItem<ABC>> buildDropDownMenuItems(List<ABC> asset) {
  ......
  }

Ошибка

Тип аргумента «Итерируемый>» нельзя назначить типу параметра «Список».

1 Ответ

0 голосов
/ 13 февраля 2020

Попробуйте expand функцию на values

var b = groupBy(value[index],(ABC item) => item.id);
dropDownMenuItem = buildDropDownMenuItems(b.values.expand((item) => item).toList());

, но, очевидно, она дает вам тот же разгруппированный список перед функцией group by. Возможно, вы хотели использовать его как b["your key"]

var b = groupBy(value[index],(ABC item) => item.id);
dropDownMenuItem = buildDropDownMenuItems(b["your key"]);
...