【发布时间】:2021-09-14 21:37:16
【问题描述】:
@freezed
class ABCModel with _$ABCModel {
factory ABCModel({
@JsonKey(name: "id") @Default('') String id,
@JsonKey(name: "name") @Default('') String name,
}) = _ABCModel;
factory ABCModel.fromJson(Map<String, dynamic> json) => _$ABCModelFromJson(json);
}
@freezed
class EFGModel with _$EFGModel {
factory EFGModel({
@JsonKey(name: "abc") @Default(ABCModel()) ABCModel abc, //empty ABCModel
}) = _EFGModel;
factory EFGModel.fromJson(Map<String, dynamic> json) => _$EFGModelFromJson(json);
}
如果 EFGModel 得到一个空或 null abc json 值,什么是合适的值放在 @Default() 冻结注解,@Default(ABCModel()) 不正确
【问题讨论】:
-
默认值是有意义的。我们无法读懂你的想法,也不知道这个类的用途或数据的重要性,所以决定权在你。
-
如果放
@Default(ABCModel())会报错 -
那个错误是?
-
是的,我也为此苦苦挣扎了一段时间。我最终使它们没有默认值。喜欢:ABCModel? abc,并将它们留空。然后制作了一个命名工厂构造函数,填充了模型道具。
标签: flutter dart freezed flutter-freezed