Sha*_*med 6 flutter flutter-navigation
当用户单击返回或我Navigator.pop()在第二个屏幕中使用时,我试图运行某种方法。
我有两个屏幕。
编辑后,我将用户弹出到第一秒。现在在第一个屏幕中我使用SharedPreference. 但是当用户回到第一个屏幕时,我需要重新运行一个方法。我怎样才能做到这一点?
Edit从Settings屏幕导航到屏幕时,使用它(在Settings屏幕内)
Navigator.pushNamed(context, "/editScreen").then((_) {
// you have come back to your Settings screen
yourSharedPreferenceCode();
});
Run Code Online (Sandbox Code Playgroud)
如果您只想在Edit屏幕上发生的某些事件上运行此代码,则可以使用屏幕pop内的方法,Edit例如
Navigator.pop(context, true); // pass true value
Run Code Online (Sandbox Code Playgroud)
上面的代码应该是:
Navigator.pushNamed(context, "/editScreen").then((value) {
if (value) // if true and you have come back to your Settings screen
yourSharedPreferenceCode();
});
Run Code Online (Sandbox Code Playgroud)
编辑:
async-await 看起来像:
bool value = await Navigator.pushNamed(context, "/editScreen");
if (value) // if true and you have come back to your Settings screen
yourSharedPreferenceCode();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4505 次 |
| 最近记录: |