我得到卡与美元从firebase而不是数据在Flutter

eyh26e7m  于 2023-04-07  发布在  Flutter
关注(0)|答案(1)|浏览(94)

snapshot.data!.docs.forEach((doc) {
          Object? data = doc.data();
          propertyCards.add(
            Card(
              child: ListTile(
                title: Text(
                    (doc.data() as Map<String, dynamic>)['property_name'] ??
                        ''),
                subtitle: Text((doc.data()
                        as Map<String, dynamic>)['property_location'] ??
                    ''),
                trailing: Text(
                    '\$${(doc.data() as Map<String, dynamic>)['property_price'] ?? ''}'),
              ),
            ),
          );
        });

我得到的美元符号,而检索的数据,从消防商店,我不知道为什么我无法得到的财产_名称,位置和价格,这是在我的消防轮胎。

wbrvyc0a

wbrvyc0a1#

您可以直接使用mapdoc.data()来获得所需的结果,如下所示:

return ListView(
            children: snapshot.data!.docs.map((DocumentSnapshot document) {
              Map<String, dynamic> movie =
                  document.data()! as Map<String, dynamic>;
              return ListTile(
                leading: const Icon(Icons.movie),
                trailing: Text('\$${movie['property_price'] ?? ''}'),
                title: Text(movie['title']),
                subtitle: Text(movie['genre']),
              );
            }).toList(),
          );

虽然这是在StreamBuilder中实现的,但在常规的get调用中也是有效的,我使用'\$${movie['property_price'] ?? ''}'使用模板文字来显示以美元为单位的货币。
我得到的结果如下

参考:检查真实的更新部分中的数据访问

相关问题