我无法使用多个消费者来为具有提供程序的单个窗口小部件忙吗?假设我的小部件是CurvedNavigationBar,并且该小部件中有4个项目。我还有4个扩展ChangeNotifier的类,并且负责CurvedNavigationBar中的每个项目。
如何在一个小部件中收听这4个更改通知?我看了看文档,却找不到这样的例子。我发现Consumer有一个builder方法,这意味着您可以只一次创建一个小部件 /一次收听一次。
我是否应该有一个扩展ChangeNotifier的类,然后在该小部件中更新值并仅使用一个Consumer来监听更新的值?
答案 0 :(得分:24)
还有其他一些Consumer
小部件。 Consumer2
,Consumer3
,Consumer4
到Consumer6
。如果您想听4 ChangeNotifier,可以使用Consumer4
Consumer4(
builder: (context, changeNotifier1, changeNotifier2, changeNotifier3, changeNotifier4, child) {
// your widget
}
)
答案 1 :(得分:15)
是的,您最多可以添加6个消费者,具体情况如下
Consumer2<AuthProvider, StorageProvider>(
builder: (context, authProvider, storageProvider, child) {
}
)