firebase - 如何在另一个小部件中获取Firestore数据

标签 firebase flutter dart google-cloud-firestore android-context

该应用程序到目前为止可以执行的操作:到目前为止,我有一个应用程序可以在Google Map上显示从Firestore获取坐标的标记。
我想要的是:我想要当用户按下一个标记时,他来到另一个显示更多数据的屏幕(数据也位于Firestore上)。
问题:我不知道如何在要显示详细信息的屏幕上获取数据(例如名称)。
我有一个onTap函数,它调用goToDetailPage()那是goToDetailPage()函数:

void goToDetailPage() {
    Navigator.of(context).push(new MaterialPageRoute(
        builder: (BuildContext context) => new detailPage()));
  }
这是“绘制”标记的代码:
 void initMarker(specify, specifyId) async {
    var markerIdVal = specifyId;
    final MarkerId markerId = MarkerId(markerIdVal);
    final Marker marker = Marker(
        markerId: markerId,
        position:
            LatLng(specify['location'].latitude, specify['location'].longitude),
        infoWindow: InfoWindow(title: specify['name'], snippet: 'Shop'),
        onTap: () {
          goToDetailPage();
        });
    print(specify['location'].latitude);
    nameTest = specify['name'];
    setState(() {
      markers[markerId] = marker;
      print(markerId.toString() + '__________________________');
    });
  }
那是详细页面中的代码:
 @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Detail Page'),
      ),
      body: Column(children: <Widget>[Text(specify['name'])]),
    );
问题是,详细信息页面中的describe ['name']中的指定用红色下划线标出,我不知道这是什么原因。

最佳答案

在第二页中:

class Tester extends StatefulWidget {

  String dataFromLastPage;
  Tester({Key key, this.dataFromLastPage}) : super(key: key);

  @override
  _TesterState createState() => _TesterState();
}

class _TesterState extends State<Tester> {
  @override
  Widget build(BuildContext context) {
    return Text(widget.dataFromLastPage); //"thisWillGoToTheNextPage!"
  }
}
导航到该页面时,发送如下数据:
Navigator.of(context).push(new MaterialPageRoute(
        builder: (BuildContext context) => new Tester(dataFromLastPage: 'thisWillGoToTheNextPage!')));

关于firebase - 如何在另一个小部件中获取Firestore数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64514512/

相关文章:

flutter - flutter :BoxConstraints强制无限高

java - 如何从 Firebase 存储获取下载 url?

java - 如何查询 queryDocumentSnapshot Firestore 内的文档字段

flutter - 将文件写入和读取到移动设备中

Dart:如何通过 Web UI 绑定(bind)到用 int 注释的变量?

flutter - 当我打印调试时,它显示 Flutter 中的 type-->Instance of 'Future<dynamic>'

node.js - Arangojs - Firebase 云功能 => 无法连接到我的数据库

ios - 每次更改子项时都会调用添加的 Firebase 子项

flutter - 更改文本字段 flutter 中最大字母的颜色

flutter - 为什么我不能在 Flutter 的 Column 中将 SizeTransition 水平居中?