Я начал использовать пакет провайдера для управления состоянием и использовал его в основном c. Поскольку приложение становится более сложным, я хочу расширить использование.
Теперь я имею в виду структуру этой модели: List<Client>
с List<Product>
(и глубже с List<Component>
).
У меня есть MultiProvider, использующий ChangeNotifierProvider для клиентов, означает, что List<Client>
управляется провайдером, пока что все хорошо.
Теперь я хочу напрямую использовать List<Product>
в провайдере, или позже List<Component>
внутри List<Product>
. Я не хочу go пройти через List<Client>
... до Компонента.
Здесь у меня есть изображение карта структуры для визуализации.
Вот некоторый упрощенный код:
// Just an example idea of..
Class Product with ChangeNotifier {
final String title;
}
Class Client with ChangeNotifier {
final String name;
final String List<Product>;
}
Class Clients with ChangeNotifier {
final List<Client> _items;
}
void main() {
// start the app
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MultiProvider(
providers: [
ChangeNotifierProvider(create: (ctx) => Clients()),
// How to provide a List<Product> that actually in the model
// belongs to a Client in the List<Client>
],
child: MaterialApp(
body: ...
)
);
}
}
Таким образом, главный вопрос заключается в том, как предоставить List<Product>
, который на самом деле в модели принадлежит клиенту в List<Client>
?