मेरे पास सूची है String
, जैसे,
var moviesTitles = ['Inception', 'Heat', 'Spider Man'];
और moviesTitles.map
उन्हें Tab
Widget
फ़्लटर में s की सूची में बदलने के लिए उपयोग करना चाहता था ।
मेरे पास सूची है String
, जैसे,
var moviesTitles = ['Inception', 'Heat', 'Spider Man'];
और moviesTitles.map
उन्हें Tab
Widget
फ़्लटर में s की सूची में बदलने के लिए उपयोग करना चाहता था ।
जवाबों:
आप उपयोग कर सकते हैं
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()
, एक वास्तविक सूची को वापस करने के अलावा, इस मूल्यांकन को बल देता है।
मैं नया नया हूँ। मैंने पाया कि कोई इसे इस तरह भी हासिल कर सकता है।
tabs: [
for (var title in movieTitles) Tab(text: title)
]
नोट: इसके लिए डार्ट एसडीके संस्करण की आवश्यकता है> = 2.3.0, यहां देखें
मैं इसी विधि की कोशिश करता हूं, लेकिन फ़ंक्शन मानचित्र में अधिक मूल्यों के साथ एक अलग सूची के साथ। मेरी समस्या रिटर्न स्टेटमेंट को भूलने की थी। यह बहुत महत्वपूर्ण है :)
bottom: new TabBar(
controller: _controller,
isScrollable: true,
tabs:
moviesTitles.map((title) { return Tab(text: title)}).toList()
,
),
{}
प्रश्न के साथ घोषित किया गया है, एक पंक्ति का कार्य है
toList
?