我有一个主页,单击该主页时会通过导航将我带到另一个页面,在其中进行一些操作,然后按返回按钮将我带回主页。但问题是主页没有刷新。
当我按下返回按钮并刷新主页时,有没有办法重新加载页面?
最佳答案
当您像这样伪代码
导航回第一页时,您可以触发 API 调用class PageOne extends StatefulWidget {
@override
_PageOneState createState() => new _PageOneState();
}
class _PageOneState extends State<PageOne> {
_getRequests()async{
}
@override
Widget build(BuildContext context) {
return new Scaffold(
body: new Center(
child: new RaisedButton(onPressed: ()=>
Navigator.of(context).push(new MaterialPageRoute(builder: (_)=>new PageTwo()),)
.then((val)=>val?_getRequests():null),
),
));
}
}
class PageTwo extends StatelessWidget {
@override
Widget build(BuildContext context) {
//somewhere
Navigator.pop(context,true);
}
}
如果 API 更新频繁,你也可以只使用流,新数据会在你的 ListView
例如使用 firebase 我们可以做到这一点
stream: FirebaseDatabase.instance.reference().child(
"profiles").onValue
无论何时您更改数据库中的某些内容(例如从编辑个人资料页面),它都会反射(reflect)在您的个人资料页面上。在这种情况下,这只是可能的,因为我使用的是 onValue
,它将继续监听任何更改并代表您进行更新。
https://stackoverflow.com/questions/49830553/