Добавление значения в DatePicker - PullRequest
0 голосов
/ 10 января 2020

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

private profileFormGroup = this.fb.group({
  dateOfBirth: ['', MAT_DATEPICKER_VALIDATORS]
});

ngOnInit() {
  this.profileService.getEntities().subscribe(data => {
    console.log(data.dateOfBirth); // retruns the timestamp 771544800
    this.profileFormGroup.get('dateOfBirth').patchValue(data.dateOfBirth);
  });
}
<mat-form-field>
  <label><input #dateOfBirth matInput (blur)="_update('personal', 'dateOfBirth', dateOfBirth.value)" (click)="picker.open()" [matDatepicker]="picker" placeholder="Choose a date" formControlName="dateOfBirth" autocomplete="off" [max]="maxDate" [min]="minDate"></label>
  <mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
  <mat-datepicker touchUi #picker startView="multi-year"></mat-datepicker>
  <mat-error *ngIf="profileFormGroup.get('dateOfBirth').errors">Date is not valid</mat-error>
</mat-form-field>

Почему мое поле ввода остается пустым?

1 Ответ

0 голосов
/ 10 января 2020

Если у кого-то возникла такая же проблема:

Вам необходимо отформатировать дату, чтобы она выглядела как ГГГГ-ММ-ДД.

В моем случае я сделал это следующим образом:

  private static _formatDate(timestamp: number): string {
    const date = new Date(timestamp * 1000); // * 1000, because it's a unix timestamp
    return date.toISOString().substring(0, 10);
  }

  ngOnInit() {
      console.log(ProfileComponent._formatDate(data.dateOfBirth));
    });
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...