Угловая печатная машина неправильной даты напечатана - PullRequest
0 голосов
/ 10 июня 2019

Я использую matDatePicker таким образом:

 <mat-form-field class="col">
    <input #pickerDal matInput [matDatepicker]="pickerDal" placeholder="Dal" 
    (dateChange)="fromDate('change', $event)" formControlName="formDataDal">
    <mat-datepicker-toggle matSuffix [for]="pickerDal"></mat-datepicker-toggle>
    <mat-datepicker #pickerDal></mat-datepicker> 
  </mat-form-field>

и в моем .ts я объявил:

formDataDal: new FormControl()

, он работал правильно, пока я не решилдобавить отображаемое значение по умолчанию в окне выбора даты.Я добавил [(ngModel)]="dal_default" внутри тега input и в файл .ts и инициализировал dal_default:

this.dal_default = new Date();

Теперь, если я попытаюсь напечатать значение Date, используя formControlName или этотdal_default переменная, я получаю странную строку формата.В частности, если я печатаю отображаемую дату по умолчанию, она правильно печатается как дата, но затем, если я изменяю дату, я получаю строку (я полагаю, что она представляет собой миллисекунды?).Для примера, следующий - тот, который я получаю от 12.12.2008:

1543618800000

Единственное, что я сделал, это изменил формат даты внутри app.module.ts, чтобы иметь Даты в ДД / ММ./ YYYY формат:

import { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material';
import { MomentDateModule, MomentDateAdapter } from '@angular/material-moment-adapter';


export const MY_FORMATS = {
  parse: {
    dateInput: 'DD/MM/YYYY',
  },
  display: {
    dateInput: 'DD/MM/YYYY',
    monthYearLabel: 'MM YYYY',
    dateA11yLabel: 'DD/MM/YYYY',
    monthYearA11yLabel: 'MM YYYY',
  },
};

и внутри провайдеров:

 { provide: MAT_DATE_LOCALE, useValue: 'it' }, 
    { provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },
    { provide: MAT_DATE_FORMATS, useValue: MY_FORMATS }

Matdatepicker правильно показывает дату в желаемом формате.Я не верю, что это проблема, но не могу быть уверен на 100%.
В чем проблема?

1 Ответ

0 голосов
/ 11 июня 2019

Можете ли вы создать для этого пример stackblitz, будет лучше понять, что вы делаете, и людям будет легче помочь вам?

...