【发布时间】:2021-03-02 12:29:30
【问题描述】:
我想使用 Get 包将多个数据从一个屏幕传递到另一个屏幕。
Get.to(Second(), arguments: ["First data", "Second data"]);
【问题讨论】:
标签: flutter get arguments send flutter-getx
我想使用 Get 包将多个数据从一个屏幕传递到另一个屏幕。
Get.to(Second(), arguments: ["First data", "Second data"]);
【问题讨论】:
标签: flutter get arguments send flutter-getx
步骤: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"]!;
我找到了这个解决方案。
首屏
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
],
)
【讨论】:
如果您需要在 getx 中使用 key 和 value 传递数据,那么试试这个
首屏
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"}
]);
【讨论】: