遍历列表以在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