【问题标题】:How should I fetch the array from firestore database in flutter?我应该如何在flutter中从firestore数据库中获取数组?
【发布时间】:2020-11-07 07:18:46
【问题描述】:

我正在尝试从 firestore 数据库中获取数组,但无法这样做

我正在获取其他字段

return ListView.builder(
          itemCount: snapshot.data.documents.length,
          itemBuilder: (context, index){
            String itemTitle = snapshot.data.documents[index]['itemTitle'];
            String Name = snapshot.data.documents[index]['name'];
           
            return ListCard(Name: Name,itemTitle: itemTitle,);

          });

我要获取的数组在这个截图中

我应该如何获得它?

【问题讨论】:

    标签: arrays firebase flutter google-cloud-firestore


    【解决方案1】:

    对于单个值

    String steps = snapshot.data.documents[index]['steps'][0]['step']
    

    或者你可以迭代

    List steps = [];
    for (int i = 0; i < 4; i++) {
            steps.add(snapshot.data.documents[index]['steps'][i]['step'])
         }
    

    【讨论】:

    • 它会获取整个数组列表还是一个特定元素?我需要一次性获取所有元素
    • 第二个将获取每个项目并存储字符串列表
    • 另外:如果编译时步数未知:for (int i = 0; i &lt; snapshot.data.documents[index]['steps'].length; i++) ...
    【解决方案2】:

    要获取所有步骤作为列表,试试这个

    return ListView.builder(
              itemCount: snapshot.data.documents.length,
              itemBuilder: (context, index){
                String itemTitle = snapshot.data.documents[index]['itemTitle'];
                String Name = snapshot.data.documents[index]['name'];
                List steps = List.castFrom(snapshot.data.documents[index]["steps"]); //this
                return ListCard(Name: Name,itemTitle: itemTitle,);
    
              });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-20
      • 2021-07-17
      • 2019-08-08
      • 1970-01-01
      • 2020-12-17
      • 2019-07-26
      • 1970-01-01
      • 2021-02-24
      相关资源
      最近更新 更多