Carousel Building from Stream builder and Firebase Flutter

  @override
  void initState() {
    
    _queryDb();
    super.initState();
  }

  Future _queryDb() {
    slides = FirebaseFirestore.instance
        .collection('slider')
        .snapshots()
        .map((list) => list.docs.map((doc) => doc.data()));
        
    return slides;
  }
    @override
  Widget build(BuildContext context) {

    return Column(
      children: [
        if (_dataLength != 0)
          StreamBuilder(
              stream_queryDb(),
              builder: (contextAsyncSnapshot snap) {
                if (snap.hasError) {
                  return Text('Something went wrong  ${snap.error}');
                }

                if (snap.connectionState == ConnectionState.waiting) {
                  return Text("Loading");
                }
                List slideList = snap.data.toList();
                return CarouselSlider.builder(
                    itemCountslideList.length,
                    itemBuilder: (contextindexpage) {
                      return Image.network(
                        slideList[index]['image'],
                        fitBoxFit.fill,
                        widthMediaQuery.of(context).size.width * 0.9,
                      );
                    },
                    carouselControllerbuttonCarouselController,
                    optionsCarouselOptions(
                        initialPage0,
                        autoPlaytrue,
                        height150,
                        onPageChanged: (indexreason) {
                          setState(() {
                            _index = index;

                          });
                        },
                        enlargeCenterPagetrue));
              }),
      ],
    );
  }











Comments