@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())
不正确
最佳答案
请注意下面的 Player.blank() 构造函数。像这样...
@freezed
class Player with _$Player {
Player._();
factory Player({
@Default('') String handle,
@Default('') String realname,
Contact? contactinfo,
@Default(false) bool emailverified,
@Default(false) bool showemail,
@Default(false) bool showphone,
@Default('') String avatarurl,
DateTime? datejoined,
@Default(0) int transactions,
DateTime? datelasttransaction,
DateTime? datelastlogin,
@Default([]) List<String> tags,
@Default([]) List<String> leagues,
@Default([]) List<String> events,
@Default(0) int views,
@Default(0) int likes,
@Default(0) int loginfails,
@JsonKey(ignore: true) @Default('') String password,
@JsonKey(ignore: true) @Default('') String confirm,
required Meta meta,
}) = _Player;
factory Player.blank() => Player(contactinfo: Contact(), meta: Meta());
factory Player.fromJson(Map<String, dynamic> json) => _$PlayerFromJson(json);
关于flutter - dart 卡住了空类的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68233535/