如何在导航回页面时更新状态Flutter

p5cysglq  于 2023-01-14  发布在  Flutter
关注(0)|答案(3)|浏览(137)

我正在创建一个类似社交媒体的应用程序,当用户点击帖子时,它会重定向到一个评论页面,在评论页面中,数据来自一个单独的API,所以当使用Navigator.Pop(上下文)返回时,主页中的数据不会更新,如果按下类似按钮,它不会反映在UI中,但会在API中更新,
我用setstate Package 了Navigator,但它没有反射,

57hvy0tb

57hvy0tb1#

在导航器上使用此按钮,按Navigator.push(context).then((value)=>setState((){});,当弹出屏幕时,将运行setState

nnt7mjpx

nnt7mjpx2#

使用此语句转到第二页,以便功能将等待第二个屏幕关闭

bool result = await Navigator.push(context);
if(result){setState((){});}

当你关闭第二个屏幕时,使用以下句子Navigator.pop(context, true);
所以当你的评论被成功发布后,如果结果布尔值为真,你将返回到屏幕1并完成函数,否则什么也不做。

s3fp2yjn

s3fp2yjn3#

您需要为Navigator调用await,然后调用setState,如下所示:

await Navigator.pushNamed(context,"next screen name");
setState(() {});

:只要不是replace 1,如何转到下一页没有任何区别。

相关问题