Dart:Map列表(list.map)

zpqajqem  于 2023-01-15  发布在  其他
关注(0)|答案(5)|浏览(184)

我有一个String的列表,例如,

var moviesTitles = ['Inception', 'Heat', 'Spider Man'];

并希望在Flutter中使用moviesTitles.map将它们转换为TabWidget的列表。

eblbsuwk

eblbsuwk1#

您可以使用
moviesTitles.map((title) => Tab(text: title)).toList()
示例:

bottom: new TabBar(
      controller: _controller,
      isScrollable: true,
      tabs:
        moviesTitles.map((title) => Tab(text: title)).toList()
      ,
    ),
lawou6xi

lawou6xi2#

我是扑翼的新手,我发现一个人也可以用这种方式来实现它。

tabs: [
    for (var title in movieTitles) Tab(text: title)
  ]
  • 注意:它要求dart软件开发包版本大于等于2.3.0,see here*
mzmfm0qo

mzmfm0qo3#

是的,你也可以这样做

List<String> listTab = new List();
 map.forEach((key, val) {
  listTab.add(val);
 });

 //your widget//
 bottom: new TabBar(
  controller: _controller,
  isScrollable: true,
  tabs: listTab
  ,
),
icnyk63a

icnyk63a4#

我尝试了同样的方法,但是使用了一个不同的列表,在函数Map中有更多的值。我的问题是忘记了一个return语句。这是非常重要的:)

bottom: new TabBar(
      controller: _controller,
      isScrollable: true,
      tabs:
        moviesTitles.map((title) {return Tab(text: title)}).toList()
      ,
    ),
icnyk63a

icnyk63a5#

tabs: [...data.map((title) => Text(title)).toList(), extra_widget],

tabs: data.map((title) => Text(title)).toList(),

对我来说很好

相关问题