我不能用multiple consumers来包装我的脑袋,一个有Provider 的小部件?假设我的小部件是CurvedNavigationBar,我在该小部件中有4个项目.我还有4个不同的类,它们扩展了ChangeNotifier和are responsible for each item in CurvedNavigationBar.

How can I listen to those 4 change notifiers in a single widget?我看了文档,没有找到这样的例子.这有可能吗?我发现Consumer有一个构建器方法,这意味着您可以构建一个小部件only once/and listen to it once.

我应该使用一个类来扩展ChangeNotifier,然后更新该小部件中的值,并且只使用一个使用者来侦听更新的值吗?

推荐答案

另外还有大约Consumer个小部件.Consumer2,Consumer3,Consumer4Consumer6.如果你想收听4个ChangeNotifier,你可以使用Consumer4

Consumer4(
  builder: (context, changeNotifier1, changeNotifier2, changeNotifier3, changeNotifier4, child) {
    // your widget
  }
)

Flutter相关问答推荐

我遇到了一个问题,从showDialogue()调用Navigator.pop()两次导致屏幕空白

无法在主屏幕视图中设置当前日期容器'

在Flutter 中压缩图片返回空

Firebase动态链接已弃用,不应在新项目中使用.Flutter 替代方案

Flutter API请求BadState响应

在Flutter 中每次点击按钮时都很难调用自定义函数

确保通过在CheckIfFavoriteMovieEvent((event,emit){...})上注册处理程序误差

应为Map String,dynamic类型的值,但得到的值为type()= Map String,dynamic'

FOR回路中的Flutter 模型

Flutter飞溅屏幕即使在修改后仍显示默认徽标和背景色

即使小部件比Flutter 中的屏幕更宽,也始终显示滚动条

Flutter:使用 GlobalKey 访问 BlocProvider

如何从Firebase登录获取用户信息,如电话号码、出生日期和性别

Flutter 判断 Uint8List 是否有效 Image

减少 Flutter 中 API 的连接等待时间

如何在向下滚动时隐藏顶部卡片并在向上滚动时出现?

状况不佳 - Cubit

在 Flame Forge2d 中射击子弹

无法列出 com.facebook.android:facebook-login -Facebook 登录问题的版本

Flutter :RangeError(索引):无效值:不在包含范围内0..3:4使用IndexedListView.builder