1

在此处输入图像描述

我有一种如图所示的场景。在单个屏幕中显示该帖子的帖子信息和评论的位置。也可以通过单击加号图标添加评论并添加新评论。

我的屏幕结构如下:

  • 帖子详情
    • 邮政信息屏幕
    • PostCommentListScreen(这是使用 BLoC 模式实现的分页 API 调用)
    • 发布添加新评论屏幕

现在,当用户添加新评论时,我面临的问题与刷新此评论列表有关。(即最初,有 10 条评论,如果我从 PostAddNewCommentScreen 添加新评论并且我移回 PostInfoScreen,则 PostCommentListScreen 中的评论列表应该被刷新以获取新添加的评论并且一个计数增加到以前的总数)

我面临的是,用于获取评论列表的 BLoC 是在 PostCommentListScreen 中创建的,并通过 Post id 获取评论列表。在添加新评论后返回 PostInfoScreen 时,如何将 Event 添加到 PostCommentListScreen BLoC 以对更新的评论列表进行新的 API 调用。

4

1 回答 1

1

任何像我一样面临同样问题的人,下面是解决方案。

  • MultiBlocProviderPostDetail屏幕上使用并创建BLoCusing BlocProviderforPostCommentListScreen以及BLoCofPostInfoScreen如果它在那里。(在我的场景中,我有多个BLoC要提供)。
  • 在 上PostDetail,声明 and 的一个实例,PostInfoScreenBloc并将其附加到上面提供的PostCommentListScreenBloc可用.BLoCBlocProvider.of<T>(context)
  • 我们可以使用的实例PostCommentListScreenBloc添加一个事件来刷新评论列表并获取最新数据。

请记住,这仅适用于我们有一个屏幕的一部分(在我的情况下是评论列表)单独StatefulWidget拥有自己的BLoC.

于 2020-05-19T08:18:26.583 回答