В моем приложении флаттера у меня есть несколько виджетов, потребляющих один провайдер:
@override
Widget build(BuildContext context) {
return ChangeNotifierProvider<MyProvider>( // <--- ChangeNotifierProvider
create: (BuildContext context) {
final MyProvider provider = MyProvider(repo: repo2);
provider.ProductParameterHolder.shopId = widget.shopId;
provider.loadProductList(provider.ProductParameterHolder);
return provider;
},
...
child: MaterialApp(
children: <Widget>[
...
child1: Consumer<MyProvider>( // <--- Consumer
...
child2: Consumer<MyProvider>( // <--- Consumer
...
child3: Consumer<MyProvider>( // <--- Consumer
...
...
]
)
Как изменить ChangeNotifierProvider, чтобы он распознавал, какой дочерний элемент использует MyProvider?
Например: place provider.ProductParameterHolder.child = ???;
in Блок ChangeNotifierProvider.