类“List<_JsonQueryDocumentSnapshot>”没有实例吸气剂“lenght”。接收者:“_GrowableList”的实例(长度:3)尝试调用:lenght

问题描述 投票:0回答:2

首页类

我是 flutter 新手,正在尝试制作票务服务应用程序。

现在我收到此错误。

小部件库捕获异常

类“List<_JsonQueryDocumentSnapshot>”没有实例 getter“lenght”。

接收者:'_GrowableList'的实例(长度:3)

尝试拨打:长度

body: CustomScrollView(
        slivers: [
          SliverPersistentHeader(
            pinned: true,
            delegate: TextDelegateHeaderWidget(title : "My Services"),
          ),


          //1. write Query

          // model class

          // ui design Widget


          StreamBuilder
            (
              stream: FirebaseFirestore.instance.
              collection("sellers").doc(sharedPreferences!.
              getString("uid")).collection("brands").snapshots(),
              builder: (context, AsyncSnapshot dataSnapshot)
              {
                if(dataSnapshot.hasData) // if brands has extis.
                  {
                    // display data
                  return SliverStaggeredGrid.countBuilder
                    (
                      crossAxisCount: 1,
                      staggeredTileBuilder: (c)=> const StaggeredTile.fit(1),
                      itemBuilder: (context, index)
                      {
                        Brands brandsModel = Brands.fromJson(
                          dataSnapshot.data!.docs[index].data() as Map<String, dynamic>);
                        //dataSnapshot.data!.docs[index].data()as Map<String, dynamic>);


                        return BrandsUiDesignWidget(
                         model: brandsModel,
                          context: context,

                        );
                      },
                      itemCount: dataSnapshot.data.docs.lenght,
                  );
                  }
                else // if not exists.
                  {
                    return const SliverToBoxAdapter(
                      child: Center(
                         child: Text(
                            "No Services Exists. Please Add Some" ,

                          ),
                        ),
                    );

                  }


              }

           )

        ],
      ),

品牌类


class _BrandsUiDesignWidgetState extends State<BrandsUiDesignWidget>
{
  @override
  Widget build(BuildContext context)
  {
    return Card(
      elevation: 10,
      shadowColor: Colors.black,
        child: Padding(
          padding: const EdgeInsets.all(0),
          child: SizedBox(
            height: 270,

            width: MediaQuery.of(context).size.width,
            child: Column(
              children: [
                Image.network(
                  widget.model!.thumbnailUrl.toString(),
                  height: 220,
                  fit: BoxFit.cover,

                ),
                const SizedBox(height: 1,),

                Row(
                  mainAxisAlignment: MainAxisAlignment.center,
                  children: [
                    Text(
                      widget.model!.brandTitle.toString(),
                      style: const TextStyle(
                        color: Colors.deepPurple,
                        fontWeight: FontWeight.bold,
                        fontSize: 20,
                        letterSpacing: 3,
                      ),
                    ),

                    IconButton(
                        onPressed: ()
                        {

                        } ,
                        icon: const Icon(
                          Icons.delete_sweep,
                          color: Colors.pinkAccent,

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

我正在尝试在我的服务中显示数据。但代码给出了这个错误,我是颤振的新手。通过更改我的代码将比解释更有帮助。因为我是新人,很多东西都不知道。

android flutter firebase dart-null-safety
2个回答
0
投票

您的代码看起来不错,只是

length
属性中存在错误,请将其替换为:

   itemCount: dataSnapshot.data.docs.lenght,

这样:

   itemCount: dataSnapshot.data.docs.length,

-1
投票

itemCount:dataSnapshot.data.docs.lenght,

将拼写从 length 更正为 length。

希望有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.