【问题标题】:Flutter How to set displayName with GetX?Flutter 如何使用 GetX 设置 displayName?
【发布时间】:2021-05-03 04:17:31
【问题描述】:

我使用 GetX 创建了 Firebase 身份验证。

这是我的带有电子邮件和密码功能的 createUser;

void createUser(String name, String email, String password) async {
try {
  UserCredential _userCredential = await _auth
      .createUserWithEmailAndPassword(email: email, password: password);

  User _yeniUser = _userCredential.user;
  await _yeniUser.updateProfile(displayName: name);
  String yeniUserID = _userCredential.user.uid; //User UİD'sini elde ettik
  await _firestore.collection("users").doc("$yeniUserID").set(
    {
      'eposta': email,
      'ad': _yeniUser.displayName,
      'saat': FieldValue.serverTimestamp(),
      'uid': yeniUserID,
      'aniVarmi': false,
    },
  ) ... //Catch things..

当我按下注册按钮时,它会创建除 'ad': _yeniUser.displayName, 之外的 firestore 集合,它始终为空。

我没有 userModel,我没有数据库服务。只是 Authcontroller。

我该怎么办?

【问题讨论】:

  • 你能分享你的 updateProfile 方法吗?
  • 我没有 updateProfile 方法,因为我没有将此属性提供给用户。

标签: flutter flutter-getx


【解决方案1】:

我假设您的 updateProfile 方法将返回用户。所以,你需要像这样再次设置你的 _yeniUser:

_yeniUser = await _yeniUser.updateProfile(displayName: name);

【讨论】:

  • 这不起作用,但感谢您的回答。
【解决方案2】:

updateProfile 后尝试调用

await _yeniUser.reload();

用更新的显示名称刷新您的用户变量。

【讨论】:

    猜你喜欢
    • 2022-01-21
    • 2021-03-06
    • 2022-12-14
    • 2021-06-25
    • 2021-04-06
    • 2017-03-16
    • 2022-08-04
    • 2021-11-11
    • 2021-07-06
    相关资源
    最近更新 更多