使用 Getx Flutter 通过 ID 获取产品

时间:2021-01-18 21:12:13

标签: flutter dart state-management flutter-getx

我的应用程序有两个屏幕主页和详细信息,我正在成功获取产品并将它们呈现在主页上。 同样在 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,但没有任何反应

1 个答案:

答案 0 :(得分:1)

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

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

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