ошибка - обновить имя пользователя в базе данных firebase, используя ionic v3 - PullRequest
0 голосов
/ 17 ноября 2018

Я хочу добавить поле имени пользователя в firebase, поскольку все сказали, что мы не можем добавить поле прямого имени пользователя в firebase.Я пытаюсь добавить через метод обновления.Здесь я получил код с этим, если я добавлю значение в коде таким образом, но я не знаю, как я могу добавить значение с помощью ввода.

file.ts

this.fAuth.auth.onAuthStateChanged(function (user) {
  if (user) {
    // Updates the user attributes:
    user.updateProfile({ // <-- Update Method here
      displayName: "Goku",
      photoURL: "https://example.com/jane-q-user/profile.jpg"
    }).then(function () {
      // Profile updated successfully!
      //  "NEW USER NAME"
      var displayName = user.displayName;
      // "https://example.com/jane-q-user/profile.jpg"
      var photoURL = user.photoURL;
    }, function (error) {
      // An error happened.
    });
  }
});

file.html

<ion-content>
<form [formGroup]="myForm">
  <ion-list>
    <ion-item>
      <ion-label floating>Username</ion-label>
      <ion-input formControlName="displayName" type="text" [(ngModel)]="user.displayName"></ion-input>
    </ion-item>
</form>
</ion-content>

пожалуйста, помогите мне ...

1 Ответ

0 голосов
/ 17 ноября 2018

Чтобы взять значение из HTML, попробуйте следующее:

<form [formGroup]="myForm" (ngSubmit)="onSubmit()">
 <ion-list>
  <ion-item>
    <ion-label floating>Username</ion-label>
    <ion-input formControlName="displayName" type="text" [(ngModel)]="displayName"></ion-input>
  </ion-item>
  <ion-item>
    <button ion-button type="submit" [disabled]="myForm.invalid">Submit</button>
  </ion-item>
 </ion-list>
</form>

Затем в .ts выполните следующее:

ngOnInit()
{
 this.myForm = this.fb.group({
  displayName : ['', Validators.required],
 });
}

onSubmit()
{
   if(this.myForm.valid)
   {
     this.displayName = this.myForm.get('displayName').value;
     console.log(this.displayName);
   }
} 

this.displayName будет содержать значение ion-input, не забудьте объявить свойство displayName в объявлении класса.

...