我在我的项目中设置了Firestore.我创建了名为categories的新集合.在这个集合中,我使用uniq id创建了三个文档.现在,我希望在我的Flutter 翼应用程序中获得此集合,因此我创建了CollectionReference:

Firestore.instance.collection('categories')

但我不知道接下来会发生什么.

我正在使用这个插件firebase_firestore: 0.0.1+1

推荐答案

使用StreamBuilder

import 'package:flutter/material.dart';
import 'package:firebase_firestore/firebase_firestore.dart';

class ExpenseList extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new StreamBuilder<QuerySnapshot>(
        stream: Firestore.instance.collection("expenses").snapshots,
        builder: (BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot) {
          if (!snapshot.hasData) return new Text("There is no expense");
          return new ListView(children: getExpenseItems(snapshot));
        });
  }

  getExpenseItems(AsyncSnapshot<QuerySnapshot> snapshot) {
    return snapshot.data.documents
        .map((doc) => new ListTile(title: new Text(doc["name"]), subtitle: new Text(doc["amount"].toString())))
        .toList();
  }
}

Flutter相关问答推荐

当第二页在单独的小工具中使用Navigator.pop时,Navigator.push不起作用

使用ThemeProvider不在亮模式和暗模式之间切换

Flutter BLoC et workmanager:如何创建独特的仓库初始化模式?

在框中保存对象列表时,类型推断无法正常工作

来自FirebaseAuth的错误DisplayName和邮箱在Flutter应用程序中给出错误

如何对齐 AppBar Actions 中的文本?

在 Flutter 中从 FireStore 获取数据并编译它们需要太多时间

'type' Icon '不是类型' IconData '的子类型

Flutter开发中,如何通过'nfc_manager'插件在Android设备上避免默认的New Tag Scanned弹出窗口?

像图像一样Flutter 自定义标签

更改 flutter listview 中的布局

如何正确地将 PageView 设置为 AppBar 的标题?

如何更改 DropDownMenu 的显示方向?

有没有办法在没有收缩包装的情况下在列中使用 ListView.Builder?

在向 Google Route API 发送 HTTP Post 请求期间发生错误,

Flutter Bloc 使用 Cubit 监听流和emits 状态

如何扫描来自给定链接或按钮的重定向中的所有 URL?

如何在 Flutter 中创建 Facebook 创建帖子屏幕?

我们什么时候在flutter中初始化一个provider?

参数类型MaterialPageRoute不能分配给参数类型String