他们正在尝试从抖动中获取修复程序及其位置,但是我得到的是一个包含所有数据的字符串,而不是它们的位置,我正在使用BLoC
Firebase:
如您在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正确获取修复程序?
答案 0 :(得分:1)
使用以下命令打印引用的长度。
var documents =
(await Firestore.instance.collection('collection').getDocuments())
.documents;
print(documents[0].data['cites'].length);
用集合名称替换collection
。