Danke.. Es hat funktioniert. Aber könnten Sie bitte erklären, was mit einem Spread-Separator passiert?
– Nadeem Shaikh
26. Februar 2021 um 19:26 Uhr
Die Verwendung des Spread-Operators ist eine Möglichkeit, dieses Problem zu lösen. Aber es gibt auch eine andere, die die Verwendung von beinhaltet toList() Methode.
children Eigenschaft erfordert eine Liste von Widgets. In Ihrem Fall wird es jedoch wie folgt:
Als Nebenbemerkung kann dieses Problem auftreten, wenn Sie versuchen, etwas wie a zu verwenden map() Methode. In diesem Fall ist die Verwendung von toList() Methode ist praktisch. Zum Beispiel,
List<AboutUsData> data = [
new AboutUsData(
title: 'Our Vision',
description:
'OUR VISION',
),
new AboutUsData(
title: 'Our Mission',
description:
'OUR MISSION',
),
new AboutUsData(
title: 'Our Values',
description:
'As we grow as a company',
),
];
Da die Antwort für mich nicht zufriedenstellend war, habe ich eine andere Lösung gefunden.
Flutter gibt Ihnen die Möglichkeit, Bedingungen auch in der Grafik in eine einzelne Zeile zu schreiben, sodass Sie einen Zyklus in eine einzelne Zeile einfügen und dann die anderen verschiedenen Widgets einfügen können. Dies ist ein praktisches Beispiel als Antwort auf die Hauptfrage:
Column(
children: <Widget>
[
for (int i = 0;
i < workouts.series.length;
i++)
"//CREATE N YOUR WIDGETS//",
new Text(
"${workouts.series.length} x ${exerciseWorkout.repsToDo} ",
style: TextStyle(
color: Colors.black87,
fontSize: 16,
fontWeight: FontWeight.bold),
)
],
)
Ich teste es. Nur das erste Widget wird per Schleife iteriert. Andere werden einfach danach hinzugefügt
– Alexufo
14. Juni 2021 um 13:12 Uhr
Atlas_Gondal
Ich habe das gleiche Problem, ich habe eine Liste von:
und ich möchte, dass es sie in einer Spalte anzeigt, die a zurückgibt list<Widget> also bin ich genauso vorgegangen wie traurig @Günter Zöchbauer: ich habe eine funktion erstellt getList():