我正在使用Stream服务来管理Firebase数据库中的数据。
我正在使用StreamProvider传递List<Habit>
并在小部件中使用它,如下所示:
StreamProvider<List<Habit>>.value(
value: HabitService(uid: user.uid).habits,
child: Widget(),
);
然后,在Widget中,我将提供者称为创建习惯列表:
final habits = Provider.of<List<Habit>>(context) ?? [];
在数据库中,我有一个孩子的“文件”,每个子文件都有一个名为“ 里程碑”的习惯。我创建了一个Stream来检索具有UID习惯的里程碑。
因此,我在每个itemBuilder(习惯)上使用提供程序来使用习惯小部件中的里程碑,如下所示:
StreamProvider<
List<Milestones>>.value(
value: MilestoneService(
userUID: user.uid,
habitUID: habits[index].uid)
.milestones,
child: HabitList(habit: habits[index]),
),
我将每个习惯作为小部件返回到列表视图中,但我想使用里程碑信息对习惯列表视图进行排序,在小部件返回后我无法访问该里程碑信息。
我目前正在使用ListView.builder,它会自动填充所有内容。
如果有人能帮助我改进方法或使用其他方法,我将不胜感激。
谢谢!