【问题标题】:(Flutter) setState of First Page from Second Page(颤振)从第二页设置第一页的状态
【发布时间】:2019-08-22 07:21:04
【问题描述】:

我在第一页中有一个 ListView Builder,它从第二页接收内容(项目)。当我在第二页点击提交按钮时,我使用:

Navigator.of(context).pop

这让我回到了第一个屏幕。

问题是除非我重新启动应用程序,否则它不会更新列表中创建的项目。

我尝试过: 1)调用First Page的实例并使用:

firstPageinstance.setState((){});

2) 我还尝试从 First Page 类调用一个函数,该函数调用 setState:

firstPageinstance.funtionWhichCallsetStateinFirstageClass();

但这些都不起作用。该列表仅在我重新启动应用程序时更新。

附:列表项被保存并从 SQLite 数据库调用。另外,如果您需要更多详细信息,请告诉我。

【问题讨论】:

  • 你能给个代码例子吗?

标签: dart flutter


【解决方案1】:

当导航到您的 SecondPage 时,等待结果如下:

bool isUpdated = await Navigator.push(context, MaterialPageRoute(builder: (context) => SecondPage()),)

if(isUpdated) // do your list update logic here

返回FirstPage时(点击提交按钮),发送期望值如:

Navigator.pop(context, true);

有用的阅读:https://flutter.dev/docs/cookbook/navigation/returning-data

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-05
    • 1970-01-01
    • 1970-01-01
    • 2015-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多