我有一个Flutter应用程序,它在页面显示中包含PlutoGrid组件。该网格旨在显示从RiverPod StreamProvider检索的对象列表,其中该提供程序从FireStore集合中提取数据。
在应用程序中,当我添加一个新条目时,我希望网格作为"构建"过程的一部分重新绘制自己-但事实并非如此!
@override
Widget build(BuildContext context) {
final aGoalStream = ref.watch(goalsListStreamProvider);
print('rebuild');
return aGoalStream.when(
error: (error, stack) => Center(
child: Text('Error [${error.toString()}]'),
),
loading: () => Center(
child: CircularProgressIndicator(),
),
data: (data) {
return Container(
child: PlutoGrid(
columns: _columns,
rows: data.map((e) {
print('cell');
return PlutoRow(cells: _toCells(e));
}).toList(),
));
},
);
}
通过日志'print'调用,我可以看到在发布新记录后,调用了'aGoalStream ='代码行,并且单元格被刷新,但是网格没有刷新以显示预期的新行。
有什么建议吗?
1条答案
按热度按时间eeq64g8w1#
用...