dart 类型“String”不是“index”的类型“int”的子类型

pkln4tw6  于 2022-12-20  发布在  其他
关注(0)|答案(1)|浏览(174)
var image; // this declaration I got wrong
  String? category;
  String? name;

  DetailPage({Key? key, this.image, this.category, this.name}) : super(key: key);

AspectRatio(
                aspectRatio: 3.5,
                child: CarouselSlider(
                items: widget.image['image'] // I want to display slider image on my product details page
                    .map<Widget>((item) => Padding(
                      padding: const EdgeInsets.only(left: 3, right: 3),
                      child: Container(
                      decoration: BoxDecoration(
                      image: DecorationImage(
                      image: NetworkImage(item),
                      fit: BoxFit.fitWidth)),
                      ),
                    ))
                      .toList(),
              
              ),
child: InkWell(
                                    onTap: (){
                                      Navigator.push(context, PageTransition(type: PageTransitionType.leftToRight,
                                          child: DetailPage(
                                            image:documentSnapshot['image'][0],
                                            category:documentSnapshot['category'],
                                            name:documentSnapshot['name'],
                                            description:documentSnapshot['description'],
                                            price:documentSnapshot['price'],
                                          )));
                                    },
krcsximq

krcsximq1#

你现在写的方式表明图像是一个Map,包含一个字段'image',这个字段是一个列表,但是这个错误表明image本身已经是一个列表,但是不知道它是什么列表,很难说它到底需要是什么。

items: widget.image
                .map<Widget>((item) => Padding(
                  padding: const EdgeInsets.only(left: 3, right: 3),
                  child: Container(
                  decoration: BoxDecoration(
                  image: DecorationImage(
                  image: NetworkImage(item),
                  fit: BoxFit.fitWidth)),
                  ),
                ))
                  .toList(),

但这一部分可能需要有所不同,具体取决于项目的外观

image: NetworkImage(item),

也许事实上

image: NetworkImage(item['image']),

相关问题