У меня есть шаблон Angular, который реализует компонент IgxDatePickerComponent. У меня возникла проблема при попытке отформатировать дату в британском формате как для раскрывающейся части элемента управления, так и для части ввода.
Вот мой код для элемента управления
<igx-date-picker #dateFromDatePicker mode="dropdown" locale="en-GB"
cancelButtonLabel="close" todayButtonLabel="today">
<ng-template igxDatePickerTemplate let-openDialog="openDialog" let-value="value"
let-displayData="displayData">
<igx-input-group type="border">
<igx-prefix (click)="openDialog(dropDownTarget)">
<igx-icon>today</igx-icon>
</igx-prefix>
<label igxLabel for="dropDownTarget">Start Date</label>
<input #dropDownTarget class="igx-date-picker__input-date" igxInput [value]="displayData"
[igxMask]="'00/00/0000'" [placeholder]="'dd/mm/yyyy'" (blur)="changeStartDate($event)"/>
</igx-input-group>
</ng-template>
</igx-date-picker>
И код компонента:
changeStartDate(event) {
const input = event.target.value;
if (input !== '') {
const parsedDate = new Date(input);
if (this.isDateValid(parsedDate)) {
this.startDate = parsedDate;
}
} else {
this.dateFromDatePicker.deselectDate();
this.startDate = input;
}
}
Когда событие размытия запускает event.target.value равно «29/04/2020», когда оно попадает в следующую строку кода.
const parsedDate = new Date(input);
Результатом parsedDate является "недопустимая дата".
Мне нужно преобразовать "29/04/2020" в действительную дату. Я пробовал разные трубы, но ни одна из них не работает.