Возникла проблема с пользовательским mat-datepicker.Дата загружается во внешний интерфейс в неправильном формате и должна иметь вид «ММ / ДД / ГГГГ»
Например, 01.04.1993 выглядит так: «29/19 / 93__»«Данные поступают в интерфейс в формате ISO, который мы хотим отобразить в формате« ММ / ДД / ГГГГ »
Преобразование не работает с загруженными входными данными, однако после нажатия на текстовое поле вводадата отображается в правильном формате
при загрузке с неправильным форматом даты: https://imgur.com/a/XiRyMdt
После нажатия в текстовом поле ввода https://imgur.com/a/gj9D6sG
Мы попытались посмотреть насобытия изменения происходят при создании dateValue и при возникновении событий щелчка в текстовом поле
HTML
<input (dateChange)="inputEvent($event, 'text')" matInput [matDatepicker]="picker"
[value]="dateValue"
[min]="minDate"
[max]="maxDate"
[style.width]="inputWidth"
class="form-control"
[textMask]="{mask:dateInputMask}"
[placeholder]="placeholder">
TS
dateInputMask = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
inputEvent(event: any, source: string) {
// if full date entered convert to moment and set dateValue to moment
this.dateValue = event.target.value;
if (this.dateValue !== null && !this.dateValue.isValid()) {
this.dateValue = null;
}
}
writeValue(value: any) {
if (value === null) {
this.dateValue = null;
return;
}
if (value !== undefined) {
this.dateValue = moment(value, this.inFormat);
if (this.dateValue == null) {
this.dateValue = moment(value, this.format);
}
}
}