我有一个主页,当点击它时,它会通过导航将我带到另一个页面,在中执行一些操作,然后按后退按钮将我带回到主页.但问题是主页无法刷新.

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

推荐答案

您可以在导航回第一个页面时触发API调用,如下所示pseudo-code

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

任何时候你在数据库中改变一些东西(例如,从编辑个人资料页面),它都会反映在你的个人资料页面上.在这种情况下,这是可能的,因为我使用的是onValue,它将不断侦听任何更改并代表您进行更新.

Flutter相关问答推荐

如何在容器中移动图标按钮?

在Flutter中,CachedNetworks Image不工作(不从CachedData加载)

从.gitignore中排除.fvm/fvm_config.json

将记录/元组用作SplayTreeMap中的键

上传的图像不能在FireBase中预览.S档案类型为空白,摆动

如何在 Dart/Flutter 中克隆 Future

处理 flutter/dart 模型中的空值

Supabase Auth:重定向到 Google.com 而不是我的应用程序

了解多Provider 和流

当键盘隐藏表单时该怎么办?

课程中的访问Provider

Riverpod 注册多少个 providers

Flutter 3.10 - 'window' 已弃用,不应使用

将状态维护到 asyncNotifier

为什么 orientation == Orientation.portrait 总是正确的,尽管我的设备已经处于横向

Flutter NavigationBar 忽略我的背景 colored颜色

小部件库捕获的 Flutter 异常

Flutter Bloc Todo 示例 - 收听存储库中的单个 todo

这在Flutter 的 pubspec 文件中是什么意思?

Flutter Firebase 可以在真实设备上运行,而不是在 Android 模拟器上运行