Flutter 颤振/飞镖-在PageView中编辑一个页面并查看更改,而不进行另一个MYSQL数据库查询?
我正在使用MYSQL数据库获取页面视图的JSON数据。我需要能够编辑一个页面,刷新页面视图,并在页面视图中看到新编辑的页面。到目前为止,我一直在使用Flutter 颤振/飞镖-在PageView中编辑一个页面并查看更改,而不进行另一个MYSQL数据库查询?,flutter,dart,flutter-bloc,flutter-pageview,flutter-redux,Flutter,Dart,Flutter Bloc,Flutter Pageview,Flutter Redux,我正在使用MYSQL数据库获取页面视图的JSON数据。我需要能够编辑一个页面,刷新页面视图,并在页面视图中看到新编辑的页面。到目前为止,我一直在使用提供程序来存储要编辑的页面的当前索引,就像这样 class AudioWidgetProvider with ChangeNotifier { int refreshIndex; setRefreshIndex (ri) { refreshIndex = ri; return refreshIndex; } } 在我的Pag
提供程序来存储要编辑的页面的当前索引,就像这样
class AudioWidgetProvider with ChangeNotifier {
int refreshIndex;
setRefreshIndex (ri) {
refreshIndex = ri;
return refreshIndex;
}
}
在我的PageView.builder控制器
中,我正在检查提供程序
中是否有刷新索引
编号。如果它为空,我将给它默认的0作为初始滚动位置。否则,页面视图将滚动至提供程序中存储的号码
controller: PreloadPageController(initialPage: audioWidgetProvider.refreshIndex?? 0),
当我导航到编辑页面时,我正在使用Navigator.pushReplacement
处理页面视图
onPressed: () async {
audioWidgetProvider.setRefreshIndex(currentIndex);
Navigator.pushReplacement(context,new MaterialPageRoute(
builder: (BuildContext context) => EditPage()),
);
}
最后,在使用新编辑的页面信息更新MYSQL数据库后,我导航回刷新的页面视图,现在该页面将滚动到新编辑的页面
Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) =>HomePage()));
但是,如果在我编辑页面时,MySql数据库在任何时候都已使用新项目更新,则refreshIndex
编号将不同步。因此,很明显,当我的应用程序上线时,我目前的方法是行不通的
那么,有没有一种方法可以像存储在SQFLITE
数据库中那样存储MYSQL查询,编辑单个页面条目,然后用编辑过的页面重新加载内部查询,而不是用外部MYSQL查询重新加载PageView
我还没有想到在PageView中使用BLOC或REDUX,我希望找到一个更简单的解决方案。有人能把我引向正确的方向吗