web-dev-qa-db-fra.com

Flutter pour boucle pour générer une liste de widgets

J'ai du code comme celui-ci mais je veux qu'il itère sur un tableau entier pour afficher une quantité dynamique d'enfants:

return Container(
  child: Column(
    children: <Widget>[
      Center(
        child: Text(text[0].toString(),
            textAlign: TextAlign.center),
      ),
      Center(
        child: Text(text[1].toString(),
            textAlign: TextAlign.center),
      ),
    ],
  ),
)

Où la variable text est une liste de convertisseurs d'entiers à chaîne ici. J'ai essayé d'ajouter une fonction pour parcourir le tableau et afficher les "enfants", mais j'obtenais une erreur de type. Je ne sais pas comment le faire depuis que je suis nouveau sur Dart and Flutter.

8
Hasen

Vous pouvez essayer ceci:

@override
  Widget build(BuildContext context) {
    List<int> text = [1,2,3,4];
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Container(
        child: Column(
          children: [
            for ( var i in text ) Text(i.toString())
          ],
        ),
      ),
    );

Notez que cela a été ajouté avec la mise à jour de Dart vers la version 2.3. Vous pouvez lire sur certains des meilleurs changements dans cet article

Une autre méthode fournie avant Dart 2.3 est la suivante:

@override
  Widget build(BuildContext context) {
    List<int> text = [1,2,3,4];
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Container(
        child: Column(
          children: List.generate(text.length,(index){
            return Text(text[index].toString());
          }),
        ),
      ),
    );
21
Abbas.M