【发布时间】:2021-04-25 10:12:00
【问题描述】:
我的代码中有这个 Provider。它假设返回列表
class ServingProvider extends ChangeNotifier {
List<Serving> servings = [];
getServings() {
Firestore.instance
.collection('servings')
.getDocuments()
.then((value) => value.documents)
.then((value) =>
value.map((serving) => Serving.fromJson(serving.data)).toList())
.then((value) => servings.addAll(value))
.then((value) => notifyListeners());
print(servings);
}
// List<Serving> get servings => servings;
}
我想在这里获取值,但由于某种原因我得到了 null。
class KMultiScrollWheel extends StatelessWidget {
final String title;
final String value;
final BuildContext passedContext;
final String dialogTitle;
KMultiScrollWheel({
@required this.title,
this.value,
@required this.passedContext,
this.dialogTitle,
});
@override
Widget build(BuildContext context) {
final servings = Provider.of<ServingProvider>(context).servings;
print(servings)
这是我的类的包装器。
ChangeNotifierProvider(
create: (_) => ServingProvider(),
child: KMultiScrollWheel(
title: 'Serving Size',
passedContext: context,
dialogTitle: 'Select Serving',
),
),
我来自 react,我完全迷失了应该相当简单的东西。提前致谢。
最后一个问题,当我可以访问已经在顶部声明的服务时,使用 get 方法有什么意义。
【问题讨论】:
标签: flutter provider flutter-provider