You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将已成功赋值的RxList从一个页面传递至另一页面?

在另一个页面使用已赋值的RxList变量

方法1:通过GetX控制器共享(推荐)

如果selectedAddress定义在GetX控制器中,直接在目标页面获取控制器即可访问该变量,还能监听数据变化:

// 目标页面内获取控制器
final addressController = Get.find<AddressController>();

// 在Obx组件中监听并使用数据
Obx(() {
  return ListView.builder(
    itemCount: addressController.selectedAddress.length,
    itemBuilder: (context, index) {
      return Text(addressController.selectedAddress[index]['address']);
    },
  );
});

方法2:路由跳转时传递参数

跳转页面时将selectedAddress作为参数传入,目标页面直接接收使用:

// 发起跳转的代码
Get.to(YourTargetPage(selectedAddress: selectedAddress));

// 目标页面的定义
class YourTargetPage extends StatelessWidget {
  final RxList<Map<String, dynamic>> selectedAddress;

  const YourTargetPage({Key? key, required this.selectedAddress}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Obx(() {
      return Text("已选中 ${selectedAddress.length} 个地址");
    });
  }
}

方法3:全局变量直接引用(不推荐)

如果selectedAddress是全局作用域的变量,目标页面可直接引用,同样需要用Obx监听变化:

// 目标页面内直接使用
Obx(() {
  return Text(selectedAddress.isNotEmpty ? selectedAddress.first['name'] : "无选中地址");
});

注意:由于是RxList,必须在Obx、GetX或GetBuilder组件中使用,才能实时响应数据的更新。

内容的提问来源于stack exchange,提问作者Umar Web

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 04:42:47