首页 > 解决方案 > 将变量从页面传递到另一个页面。颤振/飞镖

问题描述

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

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}")
            );
  }
}

标签: androidiosflutterdart

解决方案


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

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}")
            );
  }
}


推荐阅读