我有一个String
s的列表,例如,
var moviesTitles = ['Inception', 'Heat', 'Spider Man'];
并希望moviesTitles.map
将其转换为Tab
Widget
Flutter中的s列表。
我有一个String
s的列表,例如,
var moviesTitles = ['Inception', 'Heat', 'Spider Man'];
并希望moviesTitles.map
将其转换为Tab
Widget
Flutter中的s列表。
Answers:
您可以使用
moviesTitles.map((title) => Tab(text: title)).toList()
例:
bottom: new TabBar(
controller: _controller,
isScrollable: true,
tabs:
moviesTitles.map((title) => Tab(text: title)).toList()
,
),
map<T>
返回的是一个Iterable<T>
而不是List<T>
Iterable
说map()
的回报是懒惰。它只有在有人真正对其进行迭代时才被评估。调用toList()
,除了返回实际列表外,还会强制执行此评估。
我尝试使用相同的方法,但在功能图中使用具有更多值的不同列表。我的问题是忘记退货声明。这个非常重要 :)
bottom: new TabBar(
controller: _controller,
isScrollable: true,
tabs:
moviesTitles.map((title) { return Tab(text: title)}).toList()
,
),
{}
的问题是一个单行函数
...data.map((title) { return Text(title);}).toList(),
对我来说很好
toList
?