【发布时间】:2021-03-04 12:43:09
【问题描述】:
我有一个运行良好的 Flutter 移动应用程序,但是当尝试将相同的代码迁移到 Flutter Web 时,我无法使用 .就像 StreamBuilder 不想在 web 模式下工作,但只能在移动应用程序模式下工作。
在 dart 文件的顶部,我已经导入:
'package:cloud_firestore/cloud_firestore.dart'
'package:firebase_auth/firebase_auth.dart'
和下面的代码,是显示streambuilder和listview的sn-p。在 web 模式下,代码卡在if (!snapshot.hasData) 条件下,仅将文本“正在加载...”返回到我的 Chrome 浏览器。在移动应用程序中,它按预期工作并返回一个列表视图,其中包含来自 firestore 的所有数据。
Container(
height: safeBlockVertical * 0.9,
child: StreamBuilder(
stream: FirebaseFirestore.instance.collection(orgName).snapshots(),
builder: (BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot) {
if (!snapshot.hasData) {return new Text('Loading...');} else {
return ListView(
children: snapshot.data.docs.map(
(DocumentSnapshot document) {
.
.
.
child: ListTile(
title: ....
trailing: ....
onTap: () {}
最初我认为 index.html 中的 firebase 配置可能是错误的,并且经常摆弄它。但后来意识到情况并非如此,因为我能够从firestore成功登录并获取用户信息而没有任何错误。所以firebase配置好,现在我想知道上面的StreamBuilder可能在Flutter Web上不起作用。是这样吗?有什么帮助吗?
【问题讨论】:
标签: firebase flutter google-cloud-firestore flutter-web