首页 > 解决方案 > 输入'列表' 不是类型 'List 的子类型>'

问题描述

DropdownButton通过循环获取以下内容的 API 请求的结果来简单地打印 a 中的内容时遇到问题:

[{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>>'。我已经迷路了。

标签: listflutterdart

解决方案


在您打印的地方i,您需要返回DropDownMenuItem(with a child)

例如:

  items: _controller.clients.map((e) => DropDownMenuItem(value: e, child: Text(e.nome))).toList(),

推荐阅读