Closed. This question needs debugging details。它当前不接受答案。












想改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。

在28天前关闭。



Improve this question




我正在尝试从其他页面的streambuilder获取firestore数据,并且显示以下错误

下面是代码
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:cloud_firestore/cloud_firestore.dart';

class DetailPage extends StatefulWidget {
  final QuerySnapshot contactDetail;
  DetailPage({this.contactDetail});

  @override
  _DetailPageState createState() => _DetailPageState();
}

class _DetailPageState extends State<DetailPage> {
  @override
  Widget build(BuildContext context) {
    return Container(
      child: Card(
        child: ListTile(
          title: Text(widget.contactDetail.data()['name']),
          subtitle: Text(widget.contactDetail.data()['email']),
        ),
      ),
    );
  }
}

最佳答案

您应该执行以下操作:

return ListView.builder(
    shrinkWrap: true,
    itemCount: widget.contactDetail.docs.length,
    itemBuilder: (BuildContext context, int index) {
        return ListTile(
            title: Text(widget.contactDetail.docs[index].data()['name']),
            subtitle: Text(widget.contactDetail.docs[index].data()['email']),
        );
    },
);
QuerySnapshot返回包含文档内容的文档列表,因此您需要使用ListView.builder

关于firebase - Flutter-从其他页面的流构建器获取数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/64338809/

10-11 01:16
查看更多