Получить значение из mat-datepicker в FormControl - PullRequest
0 голосов
/ 30 марта 2020

Я создаю запрос POST к API, и одно из полей, которое выдает ошибку, является полем mat-datepicker, так как оно находится внутри вызова ngOnInit() (и, я думаю, еще ничего не выбрано). Поля, такие как name, email et c. ведут себя хорошо, но у меня возникают проблемы с получением значения из поля datepicker ... Как я могу отправить это значение также при отправке формы?

Моя попытка была такой:

ngOnInit() {
  this.myForm = new FormGroup({
    date_of_birth: new FormControl(new Date().toISOString(), [
       Validators.required,
       this.backendValidation.bind(this, 'date_of_birth')
    ])
   })
  }


<mat-form-field>
  <mat-label>Date</mat-label>
  <input matInput [matDatepicker]="date_of_birth" formControlName="date_of_birth" />
  <mat-datepicker-toggle matSuffix [for]="date_of_birth"></mat-datepicker-toggle>
  <mat-datepicker #date_of_birth></mat-datepicker>
</mat-form-field>

1 Ответ

1 голос
/ 30 марта 2020

In HTML:

<form [formGroup]="empForm" (ngSubmit)="onSubmit()">
<mat-form-field>
    Date
    <input matInput [matDatepicker]="picker" formControlName="date_of_birth" />
    <mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
    <mat-datepicker #picker></mat-datepicker>
</mat-form-field>
</form>

<button (click)="get()">get</button>

TS:

this.empForm = this.fb.group({
  date_of_birth: new FormControl(new Date(), [
    Validators.required
  ])
});

Для консоли:

get(){
 console.log(this.empForm.get('date_of_birth').value);
}

Надеюсь, это поможет вам. Если возникнут какие-либо проблемы, я думаю, что это проблема с вашим пользовательским валидатором - this.backendValidation.bind(this, 'date_of_birth').

Надеюсь, это сработает!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...