Flutter Firestore文档Snpashot侦听器

时间:2020-03-27 17:12:53

标签: firebase flutter google-cloud-firestore

我只想在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 个答案:

答案 0 :(得分:1)

这对我有用。根据需要调整并弄乱下面的代码!希望这会为您指明正确的方向。

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