Flutter:使用自定义对象作为Getx Observable时如何避免重新渲染

5m1hhzi4  于 2023-01-14  发布在  Flutter
关注(0)|答案(1)|浏览(207)

我有一个名为Todo的模型类,它包含如下字段

class Todo{
 String name;
 String note;
 DateTime date;
 String color;
 bool isDone;
}

我有一个叫做TodoController的控制器,我让Todo可见

class TodoController extends GetxController{
  final Todo = Todo().obs;
}

所有字段(名称、日期等)都有自己的小部件来显示和编辑它们,但问题是每当我编辑一个字段时,其他字段的所有其他构建方法也会被调用。

todo.update((todo) {
    todo.name = nameController.text;
});

另一种方法是,我可以让每个场都是可观测的,而不是让整个物体都是可观测的,但这太麻烦了,有人有其他的解决方法吗?

nuypyhwy

nuypyhwy1#

不要给予models.obs,而是给包含todo模型所有数据的列表。例如var todoList = [].obs或任何包含todo模型的变量

相关问题