flutter - 如何使用内置值创建嵌套对象

标签 flutter dart built-value

我想创建一个嵌套对象作为请求发送到 api。非常感谢您的帮助。

下面是嵌套的内置值类


abstract class BuiltUpdateProfileRequest
    implements
        Built<BuiltUpdateProfileRequest, BuiltUpdateProfileRequestBuilder> {
  // fields go here
  String get firstName;
  String get lastName;
  String get phoneNumber;
  @nullable
  ProfileBilling get billing;

  BuiltUpdateProfileRequest._();

  factory BuiltUpdateProfileRequest(
          [updates(BuiltUpdateProfileRequestBuilder b)]) =
      _$BuiltUpdateProfileRequest;

  static Serializer<BuiltUpdateProfileRequest> get serializer =>
      _$builtUpdateProfileRequestSerializer;
}

abstract class ProfileBilling
    implements Built<ProfileBilling, ProfileBillingBuilder> {
  // fields go here
  @nullable
  String get address1;
  @nullable
  String get address2;
  @nullable
  String get city;
  @nullable
  String get state;
  @nullable
  String get country;
  @nullable
  String get zip;
  ProfileBilling._();

  factory ProfileBilling([updates(ProfileBillingBuilder b)]) = _$ProfileBilling;

  static Serializer<ProfileBilling> get serializer =>
      _$profileBillingSerializer;
}

下面是请求对象,但它在电话号码下的计费时抛出错误,指出无法将配置文件计费类型的值分配给 ProfileBillingBuilder 类型的变量。

 final ProfileBilling profileBilling = ProfileBilling((b) => b
      ..address1 = ""
      ..address2 = ""
      ..city = ""
      ..state = ""
      ..country = ""
      ..zip = "");

 final BuiltUpdateProfileRequest builtUpdateProfileRequest =
        BuiltUpdateProfileRequest((b) => b
          ..firstName = firstName
          ..lastName = lastName
          ..phoneNumber = phoneNo
          ..billing = profileBilling);

最佳答案

您需要调用方法toBuilder()来创建ProfileBillingBuilder变量;

final BuiltUpdateProfileRequest builtUpdateProfileRequest =
    BuiltUpdateProfileRequest((b) => b
      ..firstName = firstName
      ..lastName = lastName
      ..phoneNumber = phoneNo
      ..billing = profileBilling.toBuilder());

关于flutter - 如何使用内置值创建嵌套对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63426729/

相关文章:

flutter - flutter 的数学表达式和波兰语字符

flutter - 如何正确保存上传到 Flutter Android 应用程序的图像?

flutter - 如何使用包built_value与Map <String,dynamic>进行序列化

json - 有什么合理的方法可以在项目中混合使用 json_serializable 和 built_value 模型吗?

flutter - Flutter Dismissible Widget在关闭后重新显示该小部件

google-maps - 如何在Google Map Flutter上显示小部件图标?

android - Flutter - ListView 是否可以包含静态小部件和流

dart - 如何在内置值枚举类中定义字段?

string - 用 add 0.1 计算 double 给出了点后面的很多数字

android-studio - 如何增加Android studio中代码行的宽度?