Ich habe eine Liste von String
s, z.
var moviesTitles = ['Inception', 'Heat', 'Spider Man'];
und wollte verwenden moviesTitles.map
, um sie in eine Liste von Tab
Widget
s in Flutter zu konvertieren .
functional-programming
dart
flutter
AbdulMomen عبدالمؤمن
quelle
quelle
toList
?map<T>
einIterable<T>
statt einesList<T>
Iterable
, wasmap()
zurückkommt, ist faul. Es wird noch nicht ausgewertet, nur wenn jemand es tatsächlich wiederholt. Das AufrufentoList()
erzwingt zusätzlich zur Rückgabe einer tatsächlichen Liste diese Auswertung.Ich bin neu im Flattern. Ich fand, dass man es auch so erreichen kann.
tabs: [ for (var title in movieTitles) Tab(text: title) ]
Hinweis: Die dart sdk-Version muss> = 2.3.0 sein ( siehe hier)
quelle
Ich versuche die gleiche Methode, aber mit einer anderen Liste mit mehr Werten in der Funktionszuordnung. Mein Problem war, eine Rückgabeerklärung zu vergessen. Dies ist sehr wichtig :)
bottom: new TabBar( controller: _controller, isScrollable: true, tabs: moviesTitles.map((title) { return Tab(text: title)}).toList() , ),
quelle
{}
der Frage deklariert ist, ist eineJa, das können Sie auch so machen
List<String> listTab = new List(); map.forEach((key, val) { listTab.add(val); }); //your widget// bottom: new TabBar( controller: _controller, isScrollable: true, tabs: listTab , ),
quelle
...data.map((title) { return Text(title);}).toList(),
Es funktioniert gut für mich
quelle