Flutter Firestore Document Snpashot Слушатель - PullRequest
0 голосов
/ 27 марта 2020

Я хочу настроить прослушивание только определенного документа в firestore. В настоящее время я делаю это так:

child: StreamBuilder<DocumentSnapshot>(
                        stream:Firestore.instance.collection('users').document(user.uid).snapshots(),
                        builder: (ctx, snap) {
                          return Text(
                            '${snap.connectionState == ConnectionState.done && snap.data != null
                           ? snap.data['flowers'].length,
                           : user.flowers.length}\flowers',
                          );
                        },

Что не работает, так это то, что это не вызывается, когда я меняю документ в firestore. Но когда я делаю то же самое, но с QuerySnapshot, он обнаруживает изменение и вызывается

1 Ответ

1 голос
/ 27 марта 2020

Это работает для меня. Отрегулируйте и возитесь с кодом ниже, как вам нужно! Надеюсь, это направит вас в правильном направлении.

return StreamBuilder<DocumentSnapshot>(
      stream: Firestore.instance.collection('users').document('4YRRS46OqjL1p0aN1qaM').snapshots(),
      builder: (BuildContext context, AsyncSnapshot<DocumentSnapshot> snapshot) {
        if (snapshot.hasError) return Text('Error: ${snapshot.error}');
        if (!snapshot.hasData) return Container(
          child: Center(
            child: CircularProgressIndicator()
          ),
        );
        return snapshot.data != null 
        ? Text('something')
        : Text('something');
      },
    );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...