元素类型“List<Card>”无法分配给列表类型“Widget”

Oja*_*ngh 2 dart flutter

我不明白在从子项中删除方括号 [] 后我们如何使用列小部件。我想从字符串元素列表创建卡片列表。我使用了地图方法来做到这一点。

我在列小部件内使用地图方法,它不断显示错误The element type 'List<Card>' can't be assigned to the list type 'Widget'。我通过将 Flights.map((element){}) 包装在另一个列小部件中,然后删除子项的 [] 来解决这个问题。

Column(
              children:[ flights.map(
                    (element) => Card(
                  child: Column(
                    children: <Widget>[
                      Image.asset('images/flight.jfif'),
                      Text(element)
                    ],
                  ),
                ),
              ).toList(),]
            )
          ],
)
Run Code Online (Sandbox Code Playgroud)

然后

Column(
              children: flights.map(
                    (element) => Card(
                  child: Column(
                    children: <Widget>[
                      Image.asset('images/flight.jfif'),
                      Text(element)
                    ],
                  ),
                ),
              ).toList(),
            )
          ],
        )
Run Code Online (Sandbox Code Playgroud)

第一个代码片段显示了元素类型“List”无法分配给列表类型“Widget”的错误。

第二个没有显示任何错误

Ama*_*tam 5

因为孩子们需要小部件列表。但在第一种情况下,它会获取列表列表,因为Flights.map将返回卡小部件列表。所以它变得像

Column(
       children:[ []
    ],
)
Run Code Online (Sandbox Code Playgroud)

但在第二种情况下,孩子们只获得所需的小部件列表。于是就变成了,

Column(
       children: []  
)
Run Code Online (Sandbox Code Playgroud)

这是正确的格式。