gpt4 book ai didi

android - Flutter:popAndPushNamed 将参数传递给新页面?

转载 作者:行者123 更新时间:2023-11-29 23:26:12 27 4
gpt4 key购买 nike

我正在 Flutter 上编写应用程序。我需要执行 popAndPushNamed,但我还需要将参数传递到我正在推送的页面。我能怎么做?是否有另一种弹出和推送方式,或者我必须寻找不同的解决方案?这件事让我发疯。

提前致谢!

最佳答案

要将数据发送到小部件,您可以使用它的构造函数

String result = await Navigator.of(context).push(MaterialPageRoute(builder: (context) => SecondWidget("String")));

在这种情况下,result 是新字符串,它将从 SecondWidget 返回

class SecondWidget extends StatefulWidget {
SecondWidget(this.text);
final String text;

SecondWidgetState 的某处:

Navigator.pop(context, "New string");

这将关闭 SecondWidget 并返回 result 的值我认为它足够清楚并且会有所帮助

UPD如何处理你的情况(像这样)

Profile profile = await Navigator.of(context).push(MaterialPageRoute(builder: (context) => LoginWidget()));
if (profile != null) Navigator.of(context).push(MaterialPageRoute(builder: (context) => MainWidget(profile)));

LoginWidget 中:

void _afterLogIn() {
// do something
Navigator.pop(context, this.receivedProfile);
}

MainWidget 中:

class MainWidget extends StatefulWidget {
MainWidget(this.profile);
Profile profile;

关于android - Flutter:popAndPushNamed 将参数传递给新页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53519591/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com