【问题标题】:flutter passing multiple data with getx颤振用getx传递多个数据
【发布时间】:2021-03-02 12:29:30
【问题描述】:

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

Get.to(Second(), arguments: ["First data", "Second data"]);

【问题讨论】:

    标签: flutter get arguments send flutter-getx


    【解决方案1】:

    步骤:1:发送数据

    Get.to(Second(), arguments: ["First data", "Second data"]);
    

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

    var data = Get.arguments;
    

    【讨论】:

    • 我传递的数据如下:onPressed: () => Get.to(() => GendersPage(), arguments: {"FOR_SELECTION", true}),但是当我尝试将参数作为地图访问时,我收到错误消息。 final Map<String, bool>? args = Get.arguments; bool get forSelection => args!["FOR_SELECTION"]!;
    • 有没有办法使用 onGenerateRoute 函数,就像在文档 flutter.dev/docs/cookbook/navigation/navigate-with-arguments 中一样,但是使用 getx?
    【解决方案2】:

    我找到了这个解决方案。

    首屏

     Get.to(Second(), arguments: ["First data", "Second data"]);

    第二屏

    声明变量(列表)

        var one = Get.arguments;

    设置数据

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

    【讨论】:

      【解决方案3】:

      如果您需要在 getx 中使用 keyvalue 传递数据,那么试试这个

      首屏

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

      第二屏

      class SecondScreenController extends GetxController {
        dynamic argumentData = Get.arguments;
      
        @override
        void onInit() {
          print(argumentData[0]['first']);
          print(argumentData[1]['second']);
          super.onInit();
        }
      }
      

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

      【讨论】:

      • ''Get.back();'' 的情况下要发回数据呢?有任何想法吗?我几乎没有挣扎
      • @carrasc0 我编辑了答案,请检查。
      猜你喜欢
      • 2021-09-12
      • 2022-01-05
      • 2020-09-27
      • 2021-10-05
      • 1970-01-01
      • 2020-12-15
      • 2021-07-27
      • 1970-01-01
      • 2021-11-19
      相关资源
      最近更新 更多