У меня есть список String
, например,
var moviesTitles = ['Inception', 'Heat', 'Spider Man'];
и хотел использовать moviesTitles.map
для преобразования их в список Tab
Widget
s во Flutter.
У меня есть список String
, например,
var moviesTitles = ['Inception', 'Heat', 'Spider Man'];
и хотел использовать moviesTitles.map
для преобразования их в список Tab
Widget
s во Flutter.
Ответы:
вы можете использовать
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()
,
),
{}
вопросом - это однострочная функция
toList
?