小编Tpp*_*Tpp的帖子

如何使用 flutter freeze 包在模型中生成日期时间

我有这个冻结的部分

import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:freezed_annotation/freezed_annotation.dart';
part 'user_model.freezed.dart';
part 'user_model.g.dart';

@freezed
class UserModel with _$UserModel {
  factory UserModel({
    required String id,
    @Default('') String uniqueId,
    @Default(DateTime.now()) DateTime dob,

  }) = _UserModel;

  factory UserModel.fromJson(Map<String, dynamic> json) =>
      _$UserModelFromJson(json);
}
Run Code Online (Sandbox Code Playgroud)

但由于DateTime.now() ,我无法生成所需的文件。

如果我做这样的事情:

factory UserModel({
        required String id,
        @Default('') String uniqueId,
        required DateTime dob,
    
      }) = _UserModel;
Run Code Online (Sandbox Code Playgroud)

它会起作用,但我必须手动将生成的数据编辑为:

dob: (json['dob'] as Timestamp?)?.toDate() ?? DateTime.now()
Run Code Online (Sandbox Code Playgroud)

从

dob: DateTime.parse(json['dob'] as String),
Run Code Online (Sandbox Code Playgroud)

我不能一直手动编辑它。

请问如何生成包括日期时间的模型类。

model dart flutter flutter-freezed

1
推荐指数
1
解决办法
3186
查看次数

标签 统计

dart ×1

flutter ×1

flutter-freezed ×1

model ×1