一尘不染

如何在Flutter中使用集合for循环?

flutter

我正在尝试SliverList使用for-loop 在中添加小部件。
但我收到以下错误:

错误:无法将元素类型“设置”分配给列表类型“小部件”

问题出现在这里:

slivers: [
  for(int i=0; i < 5; i++) {
    EachBusInfoBodyWidget(Colors.green)
  }
]

阅读 1308

收藏
2020-08-13

共1个答案

一尘不染

这里的问题是运算符集合不带花括号({})。也就是说,正如您所知,它们不与它们一起工作。
花括号用于SetMap文字。如果在条目后面添加冒号,它将变成Map文字,例如{ 'flavor': 'sweet' }。但是,如果仅使用花括号,则会创建一个Set。通常这不影响for循环,因为花括号被用作常规流控制。

无论如何,要解决此问题,您只需要删除花括号即可:

for(var i = 0; i < 5; i++) EachBusInfoBodyWidget(Colors.green)
2020-08-13