Как обновить данные Firestore на другой странице Flutter - PullRequest
0 голосов
/ 27 февраля 2019

У меня есть функция, которая добавляет данные в базу данных.Мне нужно обновить эти данные на другой странице.Скажите, какой код нужно написать, чтобы обновить эти данные только на другой странице.

  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);
            }
          }

1 Ответ

0 голосов
/ 28 февраля 2019

Хорошо, поэтому, если ваш вопрос, как обновить интерфейс при появлении новых данных, вы можете получить свои данные с помощью виджета StreamBuilder.Который будет обновлять пользовательский интерфейс при появлении новых данных.

Класс StreamBuilder

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"]}'),
              );
            }
          );
        } 
   }
 )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...