我有一个String
的列表,例如
var moviesTitles = ['Inception', 'Heat', 'Spider Man'];
并希望使用moviesTitles.map
将其转换为Flutter中的Tab
Widget
列表。
答案 0 :(得分:38)
你可以使用
moviesTitles.map((title) => Tab(text: title)).toList()
示例:
bottom: new TabBar(
controller: _controller,
isScrollable: true,
tabs:
moviesTitles.map((title) => Tab(text: title)).toList()
,
),
答案 1 :(得分:20)
我是新手。我发现也可以通过这种方式实现。
tabs: [
for (var title in movieTitles) Tab(text: title)
]
注意:它要求dart sdk版本为> = 2.3.0,see here
答案 2 :(得分:1)
我尝试了相同的方法,但是在功能图中使用具有更多值的不同列表。我的问题是忘记退货声明。这非常重要:)
bottom: new TabBar(
controller: _controller,
isScrollable: true,
tabs:
moviesTitles.map((title) { return Tab(text: title)}).toList()
,
),
答案 3 :(得分:0)
...data.map((title) { return Text(title);}).toList(),
对我来说很好
答案 4 :(得分:-1)
是的,您也可以这样做
List<String> listTab = new List();
map.forEach((key, val) {
listTab.add(val);
});
//your widget//
bottom: new TabBar(
controller: _controller,
isScrollable: true,
tabs: listTab
,
),