Flutter GetX 导航-arguments 传值+返回值

14 min read

主页面

ListTile(
  title: Text("导航-arguments传值+返回值"),
  subtitle: Text(
      'Get.toNamed("/home/list/detail", arguments: {"id": 999})'),
  onTap: () async {
    var result = await Get.toNamed("/home/list/detail",
        arguments: {"id": 999});
    Get.snackbar("返回值", "success -> " + result["success"].toString());
  },
),

跳转页面

_buildBackListTileRow(Map? val) {
  return val == null
      ? Container()
      : ListTile(
          title: Text("传值 id = " + val["id"].toString()),
          subtitle: Text('Get.back(result: {"success": true}'),
          onTap: () => Get.back(result: {"success": true}),
        );
}

@override
Widget build(BuildContext context) {
  final details = Get.arguments as Map;
  final parameters = Get.parameters;

  return Scaffold(
    appBar: AppBar(
      title: Text("详情页"),
    ),
    body: ListView(
      children: [
        ListTile(
          title: Text("导航-返回"),
          subtitle: Text('Get.back()'),
          onTap: () => Get.back(),
        ),
        _buildBackListTileRow(details),
        _buildBackListTileRow(parameters),
      ],
    ),
  );
}