Flutter:传递到下一个屏幕的变量变为空

大oto

我想将变量传递到下一个屏幕,但是它将null在下一个屏幕中显示。我有什么错吗?我的代码如下。

first_screen.dart

onTap: () {
            print(doc);  // Prints out Instance of `DocumentSnapshot` on log
            Navigator.of(context).pushNamed('/second', arguments: doc);
          },

second_screen.dart

class SecondScreen extends StatefulWidget {
  final DocumentSnapshot doc;

  SecondScreen({
    this.doc,
  });

  @override
  State<StatefulWidget> createState() {
    return _SecondScreenStateState();
  }
}

class _SecondScreenState extends State<SecondScreen> {
    @override
    void initState() {
        super.initState();
        print(widget.doc);  // Prints out null here
    }

我尝试了其他数据类型,但所有变量在下一个屏幕中都为空。

塞雷斯·卡比尔

您必须传递这样的参数:

Navigator.of(context).pushNamed('/second', arguments: doc);

对于您来说是正确的,但是,请使用ModalRoute.of()方法返回带有以下参数的当前路由:

  final doc = ModalRoute.of(context).settings.arguments as String;

我以为doc是String。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在flutter中使用StreamBuilder时将数据传递到下一个屏幕

Flutter:将 json 响应传递到下一个屏幕

动态获取edittext中的输入并将其传递到下一个屏幕

为什么 Flutter 下一个屏幕上的变量值为 null?

FlatList onClick导航到下一个屏幕

WIX安装程序-将变量传递到下一个窗口

将变量传递给下一个模板

将动作传递到下一个按钮

将ImageView传递到下一个活动

PHP变量(全局)在下一个代码块中似乎变为NULL

在Express.js中使用next()将变量传递到下一个中间件

将上一个命令的输出传递到下一个命令

将日期从一个函数传递到下一个函数

将数据从一个SKScene传递到下一个

将结果从一个“ for”循环迭代传递到下一个迭代?

从一个组件到下一个组件的Angular 2传递事件

将参数从一个命令传递到下一个命令

将响应数据从一个 http 请求传递到下一个

Rails 7:如何将变量从一个控制器传递到下一个控制器

在 LibGDX 中渲染到下一个屏幕失败

导航到下一个屏幕时如何避免键盘弹出?

iOS - SwiftUI - 执行异步操作后导航到下一个屏幕

Android:动画完成后如何导航到下一个屏幕

除非填充了文本输入,否则阻止导航到下一个屏幕

使用 Promise 将数组变量传递给下一个函数的问题

摩卡传递变量到下一个测试

Django的。如何将下一个变量传递给auth_views.login

如何将变量和 API 响应传递给下一个承诺 (.then)

SwiftUI将计算变量传递给下一个视图