【问题标题】:Pass variables from page to another page. Flutter/Dart将变量从页面传递到另一个页面。颤振/飞镖
【发布时间】:2021-08-07 10:34:10
【问题描述】:

我在一个页面中有一些变量,我想在导航时将其传递到另一个页面。 带有变量的首页代码:

int groupValue = -1;
  int idButton = 0;
 onTap: (){
                     Navigator.of(context).push(MaterialPageRoute(
                       builder: (context) => SearchResault(),
                       settings: RouteSettings(
                         arguments: {
                          IdButton,
                           groupValue
    }
                       )
                     ));
                    },

问题是每次我得到 {-1,0} 但我想选择我想要接收的内容。

已编辑

这是编辑后的代码: 您可以通过小部件的构造函数传递参数,如下所示:

Navigator.of(context).push(
       MaterialPageRoute(builder:
         (BuildContext context) =>
           SearchResault(idButton: IdButton, groupValue: groupValue),
         ),
       );

然后您可以定义您的无状态小部件:

class SearchResault extends StatelessWidget {
  final int idButton;
  final int groupValue;

  const SearchResault({this.idButton, this.groupValue});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
               body: Container(
                  child: Text("${idButton} - ${groupValue}")
            );
  }
}

【问题讨论】:

  • 也将完整的第二个小部件代码发布给您。
  • 它是空的,我没有编写任何代码
  • 发布您的完整应用代码。
  • 大约有 1000 行,兄弟!

标签: android ios flutter dart


【解决方案1】:

您可以通过小部件的构造函数传递参数,如下所示:

Navigator.of(context).push(
       MaterialPageRoute(builder:
         (BuildContext context) =>
           SearchResault(idButton: IdButton, groupValue: groupValue),
         ),
       );

然后您可以定义您的无状态小部件:

class SearchResault extends StatelessWidget {
  final int idButton;
  final int groupValue;

  const SearchResault({this.idButton, this.groupValue});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
               body: Container(
                  child: Text("${idButton} - ${groupValue}")
            );
  }
}

【讨论】:

  • 我怎样才能接收到另一个页面?
  • 我更新了我的示例。您使用 Navigator.of(context).push 方法从一个视图推送参数,然后您可以在推送的小部件中访问它们,因为您在其构造函数中为其提供了参数。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多