Значение matInput не обновляется - PullRequest
0 голосов
/ 04 мая 2020

У меня есть форма Поле ввода для имени пользователя и пароля, подобное этому,

 <mat-form-field class="mdb-form-field-modal form-adjustments">
    <input (keydown)="emailBtnFocus($event)" tabindex="0" matInput placeholder="username" formControlName="username">
        <mat-error *ngIf="username.hasError('email') && !username.hasError('required')">
        {{ signInEmailErrorText }}
        </mat-error>
    <mat-error *ngIf="username.hasError('required')">
        {{requiredError }}
    </mat-error>
</mat-form-field>

export class SignInComponent implements OnInit {
    signInForm: FormGroup;
  username = new FormControl('', [
    Validators.required, Validators.email
  ]);

  ngOnInit() {
    this.authState = this.store.select('auth');
    this.signInForm = new FormGroup({
      'username': this.username,
      'password': this.password,
      'staySignedIn': this.staySignedIn
    });

  }
  // Submit Logic.
  onSignInSubmit() {
    console.log('SignInForm:', this.signInForm);
   //logic for submit goes here
  }
}

Когда я нажимаю Отправить, значение все равно остается нулевым, и я не уверен, почему. Может ли кто-нибудь помочь мне понять это?

1 Ответ

1 голос
/ 04 мая 2020

сделать это:

import { FormBuilder, FormGroup, Validators } from '@angular/forms';

export class SignInComponent implements OnInit {
signInForm: FormGroup;
constructor(private formBuilder: FormBuilder) {}

  ngOnInit() {
    this.authState = this.store.select('auth');
    this.signInForm = this.formBuilder.group({({
      'username': ['', [Validators.required, Validators.email]],
      'password': ['', Validators.required],
      'staySignedIn': ['']
    });

  }
  // Submit Logic.
  onSignInSubmit() {
    console.log('SignInForm:', this.signInForm);
   //logic for submit goes here
  }
}
...