【问题标题】:How to get a String data array from firebase on flutter?如何在flutter上从firebase获取字符串数据数组?
【发布时间】:2019-12-27 15:50:49
【问题描述】:

他们试图从颤振中获得修复和他们的位置,但我得到的是一个包含所有数据而不是他们的位置的字符串,我正在使用 BLoC

火力基地: 正如您在 firebase 中看到的,我有一个数据数组

cloud_firestore_api.dart:

 Future<QuerySnapshot> getCites() async {
return await _db
    .collection('type_cites').getDocuments();
 }

cloud_firestore_repository.dart:

 Future<QuerySnapshot>getCites() => _cloudfireStoreAPI.getCites();

user_bloc.dart:

Future<QuerySnapshot>getCites()=> _cloudFirestoreRepository.getCites();

这是我发送来调用我的函数的地方,我得到的是一个字符串而不是数组:

 import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:flutter/material.dart';
import 'package:generic_bloc_provider/generic_bloc_provider.dart';
import 'package:/User/bloc/userbloc.dart';

class DatePickerScreen extends StatefulWidget {
  UserBloc userBloc;
  QuerySnapshot snapshot;

  @override
  State<StatefulWidget> createState() {
    return _DatePickerScreen();
  }
}

class _DatePickerScreen extends State<DatePickerScreen> {

  @override
  Widget build(BuildContext context) {
    widget.userBloc = BlocProvider.of<UserBloc>(context);
    widget.userBloc.getCites().then((result) {
      widget.snapshot = result;
      
    });
    return  RaisedButton(
          onPressed: () {
            print( widget.snapshot.documents[0].data);
          },
        );
     
   
  }
}

输出:

如果我打印它带来的大小:

当我实际上将它置于具有 3 个位置且其大小为 3 而不是 1 的排列中时, 有什么方法可以直接从 firebase 获得修复?

【问题讨论】:

    标签: firebase flutter google-cloud-firestore


    【解决方案1】:

    使用以下打印引用的长度。

    var documents =
        (await Firestore.instance.collection('collection').getDocuments())
            .documents;
    print(documents[0].data['cites'].length);
    

    collection 替换为您收藏的名称。

    【讨论】:

    • 非常感谢,我以为我的请求有问题
    猜你喜欢
    • 2021-08-25
    • 1970-01-01
    • 2019-02-07
    • 2018-06-02
    • 2017-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-31
    相关资源
    最近更新 更多