flutter - Flutter中如何返回刷新上一页?

我有一个主页,单击该主页时会通过导航将我带到另一个页面,在其中进行一些操作,然后按返回按钮将我带回主页。但问题是主页没有刷新。

当我按下返回按钮并刷新主页时,有没有办法重新加载页面?

最佳答案

当您像这样伪代码

导航回第一页时,您可以触发 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/

相关文章:

image - 如何在 Dart/Flutter 中读取本地镜像文件的字节数?

flutter - floatingactionbutton 在不同的选项卡上显示/隐藏

dictionary - 不断向 map 添加数据

dart - 如何使TextField的背景为矩形框形状?

flutter - 如何在 flutter 的盒子周围创建虚线边框?

dart - 格式化持续时间,如 HH :mm:ss

dart - 小部件内的 flutter 循环

dart - Flutter Web 不显示 Material Design 图标

dart - 用于 Flutter/Dart 的 Google Sheets API v4

flutter - Flutter 中 MaterialApp 类中的构建器属性的示例?