我在 firebase 的列表中有一系列项目。我想在我的颤振应用程序中显示这些数组元素,但我失败了

Posted

技术标签:

【中文标题】我在 firebase 的列表中有一系列项目。我想在我的颤振应用程序中显示这些数组元素,但我失败了【英文标题】:I have an array of items inside a list from firebase. I want to display those array elements inside my flutter app but I have failed 【发布时间】:2021-09-20 16:07:08 【问题描述】:

在我的 firebase 集合(这是一个列表元素)中,我也有数组。我无法在我的颤振应用程序中显示数组内的元素。

这是我的 firebase 文档中的数据;

cooking_time
"No cooking"
description
"Add a taste of the tropical to your breakfast with our easy vegan, mango and pineapple smoothie bowl"
id
"wjDeHCE97TSDyqBDggGY"
image
"https://firebasestorage.googleapis.com/v0/b/seddi-89190.appspot.com/o/tropical-smoothie-bowl.jpg?alt=media&token=5985e156-36cc-4d46-9f57-b12d5a6deb50"
ingredients
0
"1 small ripe mango , stoned, peeled and cut into chunks"
1
"200g pineapple , peeled, cored and cut into chunks"
2
"2 ripe bananas"
3
"2 tbsp coconut yogurt (not coconut-flavoured yogurt)"
4
"150ml coconut drinking milk"
5
"2 passion fruits , halved, seeds scooped out"
6
"handful blueberries"
7
"2 tbsp coconut flakes"
8
"a few mint leaves"
method
0
"STEP 1: Put the mango, pineapple, bananas, yogurt and coconut milk in a blender, and blitz until smooth and thick. Pour into two bowls and decorate with the passion fruit, blueberries, coconut flakes and mint leaves. Will keep in the fridge for 1 day. Add the toppings just before serving."
name
"Tropical smoothie bowl"
prep_time
"20 mins"
price
"34000"
serves
"2"
tags
0
"Smoothie"
1
"Healthy"
2
"breakfast"

下面是我的代码,它试图显示“标签”数组中的每个项目;请查看 ListTile 的“副标题”部分。

ListTile(
          onTap: () ,
          hoverColor: Colors.red,
          leading: ClipRRect(
            borderRadius: BorderRadius.circular(20),
            child: Image.network(
              document['image'],
              fit: BoxFit.cover,
            ),
          ),
          title: CustomText(
            text: document['name'],
            weight: FontWeight.bold,
          ),
          subtitle: Row(
            children: document['tags'].map((cat) => Text(cat)).toList(),
          ),
          trailing: Text('Ush.$document['price']')),

以下是错误;

The following _TypeError was thrown building:
type 'List<dynamic>' is not a subtype of type 'String'

【问题讨论】:

【参考方案1】:

试试这个:

Row(
children: [ for (var cat in document['tags']) Text(cat.toString()) ])

【讨论】:

天哪!有效。非常感谢@HuthaifaMuayyad。我希望我能给你的答案投票 100 次。 哈哈太棒了!只需将其标记为正确答案,那就太好了 ^^ 快乐编码。

以上是关于我在 firebase 的列表中有一系列项目。我想在我的颤振应用程序中显示这些数组元素,但我失败了的主要内容,如果未能解决你的问题,请参考以下文章

使用 vuexfire 动态绑定 firebase 集合列表

如何在Flutter的firebase中获取集合中索引的集合列表? [复制]

从 Firebase 列表 Observables 数组转到字符串数组

将熊猫系列时间戳转换为唯一日期列表

Firebase 实时数据库:如何监听节点的特定项目子集?

数据结构