У меня есть список String, например,
var moviesTitles = ['Inception', 'Heat', 'Spider Man'];
и хотел использовать moviesTitles.mapдля преобразования их в список Tab Widgets во Flutter.
У меня есть список String, например,
var moviesTitles = ['Inception', 'Heat', 'Spider Man'];
и хотел использовать moviesTitles.mapдля преобразования их в список Tab Widgets во 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?