如何更新对象的属性

时间:2019-12-13 03:40:39

标签: flutter dart

我目前正在学习Flutter / Dart并取得了良好的进展,所以如果这是一个菜鸟问题,请多多包涵。

我有一个对象。

class Todo {
  bool complete;
  String note;
}

根据用户交互,其属性将更新。 终于我得到了最新的状态来做某事。 我有两种解决方法:

  1. 一次创建Todo,然后每次更改属性。
final Todo todo = Todo();

todo.complete = true;
todo.note = "something";
  1. 每次创建一个新的Todo。
class Todo {
  Todo({this.complete = false, this.note = ""});
  final bool complete;
  final String note;
  Todo copyWith({bool complete, String note}) {
    return Todo(
      complete: complete ?? this.complete,
      note: note ?? this.note,
    );
  }
}
----------
final Todo todo = Todo();

final Todo2 = todo.copyWith(complete: true);
final Todo3 = todo.copyWith(note: "something");

在解决方案1中,我终于明白了。 在解决方案2中,我终于得到todo3。

哪种解决方案更好?

谢谢!

0 个答案:

没有答案