首页 > 解决方案 > 如何在一行 Flutter 中访问子列表

问题描述

我有一个看起来像这样的模型

class Activity {
  int id;
  String title;
  List <String> imageurl;

  Activity({this.id, this.title, this.imageurl});
}

List<Activity> activities = [
  Activity(
      id: 1,
      title: "Ministry of Education",
      imageurl: ["assets/images/place1.jpg","assets/images/place2.jpg","assets/images/place3.jpg"  ]
  ),
  Activity(
      id: 2,
      title: "Ministry of Sports",
      imageurl:["assets/images/place4.jpeg","assets/images/place5.jpg","assets/images/place6.jpg"]
  ),
  Activity(
      id: 3,
      title: "Ministry of Technology",
      imageurl: ["assets/images/place7.jpg","assets/images/place8.jpg","assets/images/place9.jpg"]  
  )
];

如何在一个语句中访问所有图像 URL,而不是通过数组中的位置使用多个 AssetsImage,如下所示

Carousel(
                boxFit: BoxFit.cover,
                autoplay: true,
                animationCurve: Curves.fastOutSlowIn,
                animationDuration: Duration(milliseconds: 1000),
                indicatorBgPadding: 6,
                dotBgColor: Colors.grey.withOpacity(.1),
                dotSize: 4.0,
                showIndicator: true,
                images: [AssetImage(widget.activity.imageurl[0]),
                  AssetImage(widget.activity.imageurl[1]),
                  AssetImage(widget.activity.imageurl[2])
                ],

              )

标签: jsonobjectfluttercarousel

解决方案


使用map

images: widget.activity.imageurl.map((i) => AssetImage(i)).toList()

推荐阅读