streambuilder不显示列表中的数据

时间:2020-07-15 10:44:15

标签: flutter google-cloud-firestore

我正在尝试在我的应用程序中显示员工列表。这是到目前为止我得到的代码:

return Column(
        crossAxisAlignment: CrossAxisAlignment.start,
        children: [
          Padding(
            padding: const EdgeInsets.only(left: 20,top: 20),
            child: Container(
              height: 40,
              width: 120,
              decoration: BoxDecoration(
                  color: Colors.grey.withOpacity(0.12),
                  borderRadius: BorderRadius.circular(8)),
              child: Padding(
                padding: const EdgeInsets.all(10),
                child: Text("Employees",
                    style: TextStyle(
                      fontSize: 22,
                      color: Colors.black,
                      fontWeight: FontWeight.w600,
                    )),
              ),
            ),
          ),
          StreamBuilder(
              stream: Firestore.instance.collection("Employees").snapshots(),
              builder: (context, snapshot) {
                if (!snapshot.hasData) {
                  return Center(child: Text("Fetching data..."));
                } else if(snapshot.connectionState == ConnectionState.done){
                  return ListView.builder(
                    itemCount: snapshot.data.documents.length,
                    itemBuilder: (context, index) {
                      return ListTile(
                          title: Text(snapshot.data.documents[index]['name']));
                    },
                  );
                } else {
                  return Text("hol up");
                }
              }),
        ],
      );

当我运行该应用程序时,它仅在列中显示“雇员”和“空头”。为什么不显示员工列表?

2 个答案:

答案 0 :(得分:0)

我通过简单地在列表视图中添加rinkeWrap:true解决了该问题。

答案 1 :(得分:0)

这应该有效。还可以从索引文档中获取数据。

 ListTile(
   title: Text(snapshot.data.documents[index].data['name']));