【问题标题】:Pass arguments inside pushNamedandRemoveUntil in flutter在flutter中在pushNamedandRemoveUntil中传递参数
【发布时间】:2020-05-31 07:16:28
【问题描述】:

我通过Navigator.pushNamedAndRemoveUntil 传递参数,但当我尝试访问传递的参数时,它显示文本小部件不能为空。

CustomButton(
  buttonText: 'Go',
  buttonClick: () {
    Navigator.pushNamedAndRemoveUntil(
      context,
      Next.id,
      (route) => false,
      arguments: "123456789",
    );
  },
);
class Next extends StatefulWidget {
  const Next({this.number});

  static const id = "next";
  final String number;

  @override
  _NextState createState() => _NextState();
}

class _NextState extends State<Next> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Container(
        child: Center(
          child: Text(
            widget.number,
          ),
        ),
      ),
    );
  }
}

错误是 断言失败:第 298 行 pos 10: 'data != null'

【问题讨论】:

    标签: android ios flutter dart


    【解决方案1】:

    要传递参数,您需要执行以下操作:

     Navigator.pushAndRemoveUntil(context,  MaterialPageRoute(builder: (context) => SecondPage(title : "Hello World")), (route) => false);
    

    您在此处导航到 SecondPage 小部件并将参数 title 传递给小部件。

    【讨论】:

    • 我可以只传递一个参数吗?我需要就如何做到这一点传递三个论点。?
    • 你可以向构造函数添加更多参数。或者只是创建一个包含所有这 3 个字段的类,然后将该类的一个实例传递给 SecondPage 的构造函数
    • 当我使用这个时,我正在返回按钮
    猜你喜欢
    • 2021-01-24
    • 2022-01-15
    • 2021-03-05
    • 2020-03-29
    • 2020-09-19
    • 2021-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多