如何在flutter fluro中传递多个参数

时间:2019-03-30 23:33:26

标签: dart flutter flutter-dependencies

我正在使用flutter fluro进行路由。我只能传递一个参数,并且可以在页面中访问它。如何发送多个物品?

这是我的使用方式

router.define('/about/:id', handler: new Handler(handlerFunc: (BuildContext context, Map<String, dynamic> params) {
    return new AboutPage(params["id"][0]);
 }));

我这样称呼

Navigator.pushNamed(context, "/about/23");

现在我要传递多个这样的变量

Navigator.pushNamed(context, "/about/23/newdata");

我试图像这样访问这些新数据

router.define('/about/:id/:str', handler: new Handler(handlerFunc: (BuildContext context, Map<String, dynamic> params) {
    return new AboutPage(params["id"][0], params["id"][1]);
}));

它不起作用。它给我这样的错误

Could not find a generator for route RouteSettings("/about/23/newdata", null) in the

颤振:_WidgetsAppState。

1 个答案:

答案 0 :(得分:1)

这里有一个访问所有参数的示例:

router.define(
      '/testpage/:param1/:param2/:param3',
      handler: Handler(
        handlerFunc: (BuildContext context, Map<String, dynamic> params) {
          print('Navigate to TestPage');
          var param1 = params['param1'][0];
          var param1 = params['param2'][0];
          var param1 = params['param3'][0];
        },
      ),
    );

所以对您来说:

router.define('/about/:id/:str', handler: new Handler(handlerFunc: (BuildContext context, Map<String, dynamic> params) {
    return new AboutPage(params['id'][0], params['str'][0]);
}));

祝你有美好的一天!