Tengo una lista de String
s, por ejemplo,
var moviesTitles = ['Inception', 'Heat', 'Spider Man'];
y quería usarlos moviesTitles.map
para convertirlos en una lista de Tab
Widget
correos electrónicos en Flutter.
functional-programming
dart
flutter
AbdulMomen عبدالمؤمن
fuente
fuente
toList
?map<T>
devuelve un enIterable<T>
lugar de unList<T>
Iterable
quemap()
vuelve es perezoso. Aún no se evalúa, solo cuando alguien realmente lo itera. LlamartoList()
, además de devolver una lista real, fuerza esta evaluación.Soy nuevo en aletear. Descubrí que también se puede lograr de esta manera.
tabs: [ for (var title in movieTitles) Tab(text: title) ]
Nota: Requiere que la versión de dart sdk sea> = 2.3.0, ver aquí
fuente
Intento este mismo método, pero con una lista diferente con más valores en el mapa de funciones. Mi problema fue olvidar una declaración de devolución. Esto es muy importante :)
bottom: new TabBar( controller: _controller, isScrollable: true, tabs: moviesTitles.map((title) { return Tab(text: title)}).toList() , ),
fuente
{}
la pregunta es una función de líneaSí, también puedes hacerlo de esta manera
List<String> listTab = new List(); map.forEach((key, val) { listTab.add(val); }); //your widget// bottom: new TabBar( controller: _controller, isScrollable: true, tabs: listTab , ),
fuente
...data.map((title) { return Text(title);}).toList(),
Esta trabajando bien para mi
fuente