首页 > 解决方案 > 如何在flutter Provider中为单个小部件使用多个消费者

问题描述

我无法将多个消费者用于一个带有提供者的小部件?假设我的小部件是 CurvedNavigationBar,并且该小部件中有 4 个项目。我还有 4 个不同的类来扩展 ChangeNotifier 并负责 CurvedNavigationBar 中的每个项目。

如何在单个小部件中收听这 4 个更改通知?我查看了文档,找不到这样的例子..这甚至可能吗?我发现 Consumer 有一个 builder 方法,这意味着您只能构建一个小部件/并收听一次。

我是否应该有一个扩展 ChangeNotifier 的类,然后更新该小部件中的值并仅使用一个 Consumer 来侦听更新的值?

标签: flutterflutter-provider

解决方案


还有一些其他Consumer小部件。Consumer2, Consumer3,Consumer4直到Consumer6. 如果你想听 4 ChangeNotifier 你可以使用Consumer4

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

推荐阅读