遍历列表以在Flutter中呈现多个小部件?

我有这样定义的字符串列表:

var list = ["one", "two", "three", "four"];

我想使用文本小部件在屏幕上并排显示值。我试图使用以下代码来尝试此操作:

for (var name in list) {

return new Text(name);

}

但是,当我运行此代码时,for循环仅运行一次,并且仅呈现一个文本小部件,该小部件表示one(列表中的第一项)。另外,当我在for循环中添加一条日志消息时,它也会被触发一次。为什么我的for循环不是基于列表的长度?它似乎只运行一次,然后退出。

回答:

基本上,当您在函数上单击“ return”时,该函数将停止并且不会继续进行迭代,因此您需要做的是将其全部放入列表中,然后将其添加为小部件的子级

您可以执行以下操作:

  Widget getTextWidgets(List<String> strings)

{

List<Widget> list = new List<Widget>();

for(var i = 0; i < strings.length; i++){

list.add(new Text(strings[i]));

}

return new Row(children: list);

}

甚至更好,您可以使用.map()运算符并执行以下操作:

  Widget getTextWidgets(List<String> strings)

{

return new Row(children: strings.map((item) => new Text(item)).toList());

}

以上是 遍历列表以在Flutter中呈现多个小部件? 的全部内容, 来源链接: utcz.com/qa/430140.html

回到顶部