元素类型'Set <Text>'不能分配给列表类型'Widget'

时间:2019-10-20 08:29:18

标签: flutter dart

使用以下代码,我试图为每个玩家添加一个新的Text小部件:

Widget build(BuildContext context) {
    return Container(
        child: Row(children: [
          Column(
            children: [
              for (var player in _players) {Text(player.name)}
            ],
          )
       ]));
}

这会导致以下错误:

  

不能将元素类型“ Set”分配给列表类型“ Widget”。

我在做什么错了?

2 个答案:

答案 0 :(得分:1)

您正在使用花括号(set literal)创建Set。您的构建函数应如下所示:

Widget build(BuildContext context) {
    return Container(
        child: Row(children: [
          Column(
            children: [
              for (var player in _players) Text(player.name)
            ],
          )
       ]));
}

答案 1 :(得分:-1)

请尝试以下操作:

children: _players.map((player) => Text(player.name)).toList(),