我有一个String的列表,例如,
String
var moviesTitles = ['Inception', 'Heat', 'Spider Man'];
并希望在Flutter中使用moviesTitles.map将它们转换为TabWidget的列表。
moviesTitles.map
Tab
Widget
eblbsuwk1#
您可以使用moviesTitles.map((title) => Tab(text: title)).toList()示例:
moviesTitles.map((title) => Tab(text: title)).toList()
bottom: new TabBar( controller: _controller, isScrollable: true, tabs: moviesTitles.map((title) => Tab(text: title)).toList() , ),
lawou6xi2#
我是扑翼的新手,我发现一个人也可以用这种方式来实现它。
tabs: [ for (var title in movieTitles) Tab(text: title) ]
mzmfm0qo3#
是的,你也可以这样做
List<String> listTab = new List(); map.forEach((key, val) { listTab.add(val); }); //your widget// bottom: new TabBar( controller: _controller, isScrollable: true, tabs: listTab , ),
icnyk63a4#
我尝试了同样的方法,但是使用了一个不同的列表,在函数Map中有更多的值。我的问题是忘记了一个return语句。这是非常重要的:)
bottom: new TabBar( controller: _controller, isScrollable: true, tabs: moviesTitles.map((title) {return Tab(text: title)}).toList() , ),
icnyk63a5#
tabs: [...data.map((title) => Text(title)).toList(), extra_widget], tabs: data.map((title) => Text(title)).toList(),
对我来说很好
5条答案
按热度按时间eblbsuwk1#
您可以使用
moviesTitles.map((title) => Tab(text: title)).toList()
示例:
lawou6xi2#
我是扑翼的新手,我发现一个人也可以用这种方式来实现它。
mzmfm0qo3#
是的,你也可以这样做
icnyk63a4#
我尝试了同样的方法,但是使用了一个不同的列表,在函数Map中有更多的值。我的问题是忘记了一个return语句。这是非常重要的:)
icnyk63a5#
对我来说很好