【发布时间】:2021-07-10 05:52:59
【问题描述】:
我正在使用提供程序来获取数据并通知侦听器,如下所示:
class CategoryProvider with ChangeNotifier {
Future<void> getData() async {
......
......
notifyListeners();
}
}
我的CategoryListView 小部件正在监听此提供程序,如下所示:
Widget build(BuildContext context) {
var collectionData = Provider.of<CategoryProvider>(context);
}
我正在推送CategoryListView 的新实例,如下所示:
Navigator.of(context).pushNamed(CategoryListView.routeName);
我正在从CategoryListView 小部件本身推送CategoryListView 的新实例。
它在推送新实例时工作正常,但在导航返回时,所有CategoryListView 小部件都显示最新的CategoryListView 小部件的数据,因为它正在侦听同一提供程序。
如何创建提供者的新实例并将其关联到小部件实例?有没有更好的方法来处理这个问题?
【问题讨论】:
-
曾经解决过这个问题吗?
-
@Lee ,我找到了解决方案并作为答案发布。请检查它是否对您有帮助。
标签: flutter dart flutter-provider