dart 无法将参数类型“String”分配给参数类型“UserProfile”

wpcxdonn  于 2023-03-15  发布在  其他
关注(0)|答案(2)|浏览(144)
bmp9r5qi

bmp9r5qi1#

您需要在userProfile上传递一个UserProfile示例,onUpdate是一个返回UserProfile的回调方法。
因此,在创建EditProfilePage时,它将类似于

UserProfile myUserProfileInstance  = UserProfile(....);
  EditProfilePage( userProfile: myUserProfileInstance, 
  onUpdate: (value){
   ///receive update value
  }
);
8ulbf1ek

8ulbf1ek2#

必须注意类型。空String不是回调或Object的有效默认值
您可以为类创建默认值,例如:

class UserProfile {
  UserProfile({
    required this.name,
    required this.email,
  });

  final String name;
  final String email;

  static UserProfile defaultValue() => UserProfile(
    name: '',
    email: '',
  );
}

现在,如果必须使用UserProfile默认值

EditProfilePage(
  userProfile: UserProfile.defaultValue(),
  onUpdate: (value) {}
)

对于上一个答案中的最后一条注解,您是否忘记在onUpdate字段中传递(value) {}而不是''

相关问题