flutter 使用 getx 传递多个数据

Jew*_*ana 27 arguments get send flutter flutter-getx

我想使用 Get 包将多个数据从一个屏幕传递到另一个屏幕。

Get.to(Second(), arguments: ["First data", "Second data"]);
Run Code Online (Sandbox Code Playgroud)

小智 35

步骤:1:发送数据

Get.to(Second(), arguments: ["First data", "Second data"]);
Run Code Online (Sandbox Code Playgroud)

步骤:2:从第一个屏幕获取数据

var data = Get.arguments;
Run Code Online (Sandbox Code Playgroud)


Tej*_*tel 33

如果您需要在getx中传递带有的数据,请尝试此操作

第一屏

Get.to(() => SecondScreen(), arguments: [
    {"first": 'First data'},
    {"second": 'Second data'}
]);
Run Code Online (Sandbox Code Playgroud)

第二屏

class SecondScreenController extends GetxController {
  dynamic argumentData = Get.arguments;

  @override
  void onInit() {
    print(argumentData[0]['first']);
    print(argumentData[1]['second']);
    super.onInit();
  }
}
Run Code Online (Sandbox Code Playgroud)

Get.back() 结果

Get.to(() => SecondScreen(), arguments: [
   {"first": 'First data'},
   {"second": 'Second data'}
]).then((result) {
    if (result[0]["backValue"] == "one") {
        print("Result is coming");
    }
});

Get.back(result: [
    {"backValue": "one"}
]);
Run Code Online (Sandbox Code Playgroud)


Jew*_*ana 18

我找到了这个解决方案。

第一屏

Get.to(Second(), arguments: ["First data", "Second data"]);
Run Code Online (Sandbox Code Playgroud)

第二屏

声明变量(列表)

var one = Get.arguments;
Run Code Online (Sandbox Code Playgroud)

设置数据

Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: [
          Text("${one[0]}"), // first element set here
          Text("${one[1]}"), // second element set here
        ],
      )
Run Code Online (Sandbox Code Playgroud)