我有一个主页,当单击该主页时,我会通过导航进入另一个页面,进行一些操作,然后按返回按钮,这会将我带回到该主页。但是问题是主页没有刷新。
当我按下返回按钮并刷新主页时,是否可以重新加载页面?
当您导航回首页时,可以触发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
ListView
例如使用firebase,我们可以做到这一点
stream: FirebaseDatabase.instance.reference().child( "profiles").onValue
而且,只要您更改数据库中的某些内容(例如,从“编辑个人资料”页面进行更改),该内容就会反映在您的个人资料页面上。在这种情况下,这仅是可能的,因为我正在使用onValue它将继续监听所有更改并代表您进行更新。
onValue