在开发中,有时候会有点击去其他页面选择选项后并返回来,返回来的时候还要携带参数

DemoPapel页面:

跳转到选择页面的方法如下:

SelectPerson为需要跳转的页面路由名称,arguments放的是携带过去的参数。then方法那里接收SelectPerson页面返回的参数。

Navigator.of(context).pushNamed('SelectPerson', arguments: {
  "name": "静静"
}).then((data) {
  //接受返回的参数
  var initData = data as Map;
  personList = initData["personList"];
  // 重新渲染页面
  build(context);
});

SelectPerson页面:

接收DemoPapel页面传过来的参数,写在build方法里面:

String name;
dynamic obj = ModalRoute.of(context).settings.arguments;
if (obj != null) {
  name = obj["name"];
}

返回上一页面并携带参数的代码如下:

pop方法返回上一页面,并返回参数

List personList = [
  {
    'name': '人物1'
  },
  {
    'name': '人物2'
  },
  {
    'name': '人物3'
  },
];
Navigator.of(context).pop({"personList": personList});

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐