我想使用 Get 包在一个屏幕上传递多个数据到另一个屏幕。
Get.to(Second(), arguments: ["First data", "Second data"]);
我想使用 Get 包在一个屏幕上传递多个数据到另一个屏幕。
Get.to(Second(), arguments: ["First data", "Second data"]);
步骤:1:发送数据
Get.to(Second(), arguments: ["First data", "Second data"]);
步骤:2:从第一个屏幕获取数据
var data = Get.arguments;
如果您需要在 getx 中传递带有键和值的数据,请尝试以下方法
第一个屏幕
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.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
],
)
您可以传递一个字符串、一个 Map、一个列表,甚至是一个类实例。
Get.toNamed("/example_page", arguments: {'arg1': 'val1', 'arg2': 'val2'};
final args = Get.arguments;
print(args); // output: {arg1:val1, arg2:val2}
List<ModelClassName>modelList = [];
Get.toNamed(YouRoutes.Name ,
arguments: modelList[index] );
ModelClassName data = Get.arguments;
onPressed: () => Get.to(() => GendersPage(), arguments: {"FOR_SELECTION", true})
,但是当我尝试将参数作为映射访问时,会出现错误。final Map<String, bool>? args = Get.arguments; bool get forSelection => args!["FOR_SELECTION"]!;
- Faizan Mubasher