使用 Getx Flutter 通过 ID 获取产品

问题描述

我的应用程序有两个屏幕主页和详细信息,我正在成功获取产品并将它们呈现在主页上。 同样在 getx 参数的帮助下,我成功地将每个产品的 ID 传递到导航的详细信息屏幕。

我要做的是使用他的 ID 获取确切的产品。

这是我的控制器:

var  mealDet =  new Meal().obs;

void fetchMealByID({String  id})async{
try{
  var meal = await  RemoteServices.fetchMealById(id);
  if(meal !=  null){
    mealDet.map((data) => meal);
  }
}finally{
  isLoading =false;
}

在详细信息屏幕上:

final ProductController myController = Get.find();
final   String id   = ModalRoute.of(context).settings.arguments;

我尝试使用控制器实例访问 mealDet,但没有任何反应

解决方法

您需要一种不同的方式来处理自定义模型中的更新(例如 Meal)。因此,您可能必须使用 here 中提到的 mealDet.update 方法。

在您的特定情况下,为了更新您的 Meal 类,您可以使用:

...
if(meal !=  null){
  mealDet.update((m){
    m.map((data) => meal);
  }
}
...

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...