首页 > 解决方案 > 使用 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使用控制器实例访问,但没有任何进展

标签: flutterdartstate-managementflutter-getx

解决方案


您需要一种不同的方式来处理自定义模型中的更新(例如Meal)。所以你可能不得不使用这里mealDet.update提到的方法。

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

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

推荐阅读