Flutter 在 Get.back() 之后调用 setState

问题描述 投票:0回答:3

我需要在 Get.back() 之后重新加载页面。怎么做?使用Get.back()后如何尽快调用上一页的任意方法? 例如:

  1. 我在
    Page1
  2. 前往
    Page2
  3. 使用 Get.back(),让用户返回到
    Page1
  4. 通常用户现在看到的
    Page1
    就像他离开时一样
    Page1
    。如何立即重新加载查看
    Page1

也许有什么方法可以覆盖我每次导航一页后可以调用的方法?这个方法必须来自

Page1
,而不是来自
Page2

flutter flutter-layout flutter-getx
3个回答
2
投票

您可以在导航到第 2 页时等待。

示例:

await Get.to(()=> Page2());
setState({
   // perform update
});

一旦从第 2 页返回到第 1 页,setState 将被触发

另一个类似的示例,来自第 1 页的代码:

ListTile(
   title: const Text("Item"),
   onTap: () async {
      await Get.toNamed(page2);
      setState(() {});
   }),

使用此示例,从 Page2 返回到 Page1 后触发刷新 (

setState
)。


2
投票

在第 2 页:您需要写这个

Get.back(result: true);

第 1 页:等待回复

var response = await Get.to(()=> Page2());
if(response){setState({
   // perform update
});}

0
投票

不要打电话给

Get.back()
,而是尝试打电话给
Get.Off(()=>Page1())

您还可以使用

Get.offAll(()=>Page1())

或者如果你使用命名路由(你真的应该)使用:

Get.offNamed('Page1')
Get.offAllNamed('Page1')

© www.soinside.com 2019 - 2024. All rights reserved.