flutter - 如何基于两个 Firestore 集合构建 Flutter widget

标签 flutter google-cloud-firestore

我在 Firestore 中有两个集合:

事件:
标题
教练编号

教练:
姓名

我用 StreamBuilder 制作了一个显示事件的小部件“EventsPage”。现在我需要这个小部件来显示每个事件的教练姓名 - 类似于教练 [event['coachId']['name']。如何在构建“EventsPage”小部件之前获取“教练”集合?

最佳答案

您可以使用嵌套的StreamBuilder

Widget nestedStreamBuilders() {
  return StreamBuilder(
    stream: firstStream,
    builder: (BuildContext context, AsyncSnapshot snapshot) {
      if (snapshot.hasError) return Text('Error: ${snapshot.error}');
      switch (snapshot.connectionState) {
        case ConnectionState.none:
          return Text('Select lot');
        case ConnectionState.waiting:
          return Text('Awaiting bids...');
        case ConnectionState.active:
        case ConnectionState.done:
          return StreamBuilder(
            stream: secondStream,
            builder: (BuildContext context, AsyncSnapshot secondSnapshot) {
              if (secondSnapshot.hasError)
                return Text('Error: ${secondSnapshot.error}');
              switch (secondSnapshot.connectionState) {
                case ConnectionState.none:
                  return Text('Select lot');
                case ConnectionState.waiting:
                  return Text('Awaiting bids...');
                case ConnectionState.active:
                case ConnectionState.done:
                  return BuildYourWidgetHere();
                  // you can build your widget here because we have the both data 
              return null; // unreachable
            },
          );
      }
      return null; // unreachable
    },
  );
}

如果你需要FutureBuilder,这就是例子:FutureBuilder_Example

关于flutter - 如何基于两个 Firestore 集合构建 Flutter widget,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55258643/

相关文章:

flutter - 为Flutter Web存储JWT token

flutter - 登录时可以显示名称等,但如果退出则仅显示 'null'。不是像 'Not signed in' 这样的消息

javascript - 在 firestore firebase 中插入并合并特定字段

javascript - Firestore 返回的权限不足,即使不应该

javascript - 如何处理由于从 Firestore DB 检索而多次运行的 UseEffect?

java - 如何处理版本 17.0.1 和 16.0.1 的 Firebase 错误消息

android - 使用SingleChildScrollView时的堆栈小部件错误

modalBottomSheet 内的 Flutter ExpansionPanelList 不更新状态

dart - 如何从 Switch 调用函数

javascript - Firestore 导出 Cron 作业未运行 : Error Code 204