flutter - dart 卡住了空类的默认值

标签 flutter dart freezed flutter-freezed

  @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/

相关文章:

flutter - 如何在模态底部工作表中制作 CheckboxListTile?

flutter - 如何在 flutter 中获得经纬度

flutter - 如何仅在 Debug模式下显示窗口小部件

operator-overloading - Dart 你可以重载赋值运算符吗?

json - 如何从JSON对象检索多个值

flutter - 如何在 flutter 中使用带有 Bloc 的 Freezed 包?

flutter - 自定义 SVG 字体图标未在图标小部件中居中

generics - 使用带有泛型的 Dart 的 call() 方法

flutter - 是否可以在 dart 中使用 getter 作为函数参数?

flutter - 常量创建的参数必须是常量表达式,同时使用卡住实现模型