【问题标题】:How to update Firestore data on another Flutter page如何在另一个 Flutter 页面上更新 Firestore 数据
【发布时间】:2019-07-21 16:30:03
【问题描述】:

我有一个向数据库添加数据的函数。我需要在另一个页面上更新这些数据。告诉我您需要编写什么代码才能仅在另一个页面上更新此数据。

  final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
  final db = Firestore.instance;

   void createData() async {
            if (_formKey.currentState.validate()) {
              _formKey.currentState.save();
              DocumentReference ref = await db.collection('users').add({'email': '$_email', 'name': 'UserName', 'userPhotoURL': 'url'});
              setState(() => id = ref.documentID);
              print(ref.documentID);
            }
          }

【问题讨论】:

    标签: firebase flutter google-cloud-firestore


    【解决方案1】:

    好的,所以如果您的问题是,当有新数据进来时如何更新 ui,您可以使用 StreamBuilder 小部件获取您的数据。如果出现新数据,它将更新 ui。

    StreamBuilder class

    StreamBuilder(
      stream: Firestore.instance.collection("collection").snapshots(),
       builder: (context, snapshot) {
        if (!snapshot.hasData) {
          return CircularProgressIndicator();
          } else { 
              <DocumentSnapshot> items = snapshot.data.documents;
              return ListView.builder(
                itemCount: snapshot.data.documents.length,
                itemBuilder: (context, index) {
                  DocumentSnapshot ds = snapshot.data.documents[index];
                  return ListTile(
                    title: Text('${ds["url"]}'),
                  );
                }
              );
            } 
       }
     )
    

    【讨论】:

    • 我有一个表格,我在其中写下邮件、姓名,我需要在数据库中更新这些数据。我向数据库添加数据的代码在上面。
    • 如何让TextFormField中写入的数据更新已经记录的数据
    猜你喜欢
    • 2019-07-19
    • 1970-01-01
    • 2022-10-21
    • 2020-04-02
    • 1970-01-01
    • 2021-12-20
    • 1970-01-01
    • 2021-03-26
    • 2014-03-07
    相关资源
    最近更新 更多