0

我正在使用来自 firebase 的 streambuilder 获取一个列表,然后在 flutter 中与来自 firebase 的另一个列表(Streambuilder)进行比较。如何比较?例如:1 个人有 1000 个关注者,当第 2 个人访问第 1 个人关注者时,它必须显示关注者(第 1 个人)是否也在他的(第 2 个人)列表中。

下图是我从 firebase 获取另一个人的关注者数据的地方。我还必须检查另一个人的追随者是否在我的以下列表中。

    class FollowersWid extends StatelessWidget {
  final String userid;
  FollowersWid(this.userid);
  @override
  Widget build(BuildContext context) {
    return StreamBuilder<QuerySnapshot>(
      stream: FirebaseFirestore.instance
          .collection('users/$userid/followers')
          .snapshots(),
      builder: (context, fetchedData) {
        if (fetchedData.connectionState == ConnectionState.waiting) {
          return Center(child: CircularProgressIndicator());
        } else {
          return Card(
              shape: RoundedRectangleBorder(
                  borderRadius: BorderRadius.circular(10.0)),
              elevation: 8,
              child: ListView.builder(
                itemCount: fetchedData.data.docs.length,
                itemBuilder: (ctx, index) => Column(
                  mainAxisAlignment: MainAxisAlignment.end,
                  children: [
                    UnFollow(fetchedData.data.docs[index]['username'], userid)
                  ],
                ),
              ));
        }
      },
    );
  }
}
4

1 回答 1

1

为此,您可以使用.where.contains例如。

List firebaseList1 = [0, 5, 1];
List firebaseList2 = [1, 0, 2];
print(firebaseList1.where((item) => firebaseList2.contains(item)));
//output: (0,1)
于 2021-07-25T11:17:24.280 回答