У меня есть таблица, которая при нажатии кнопки редактирования в любой строке открывает форму, заполненную информацией из строки, по которой щелкнули.Вся информация отображается правильно, за исключением даты.
Дата из таблицы имеет формат «ДД / ММ / ГГГГ», который не поддерживается нативным средством выбора даты HTML, поэтому в ngOnInit первое, что я делаю, этообновить значение элемента управления с помощью «ГГГГ-ММ-ДД».Это исправило проблему с визуализацией даты после показа формы.Теперь проблема в том, что когда я выбираю новую дату из средства выбора даты, новая дата не отображается на входе: вход просто возвращается к дд / мм / гггг, но, конечно, дата правильно сохраняется в элементе управления формы, поэтомучто мне не хватает?Что можно сделать, чтобы дата всегда отображалась при вводе даты в формате ДД / ММ / ГГГГ?
Datepicker html
<form [formGroup]="group">
<label>{{config.label}}</label>
<input
type="date"
[formControlName]="config.name"
[placeholder]="config.placeholder"
(change)="setNewDate()"
>
Datepicker ts
export class FormDatepickerComponent implements OnInit {
config;
group: FormGroup;
currentDateVal;
ngOnInit() {
this.currentDateVal = this.group.get(this.config.name).value ;
let p = this.currentDateVal.toString().split('/')
let d = p[0];
let m = p[1];
let y = p[2];
this.group.get(this.config.name).patchValue( y + '-' + m + '-' + d)
}
setNewDate() {
this.currentDateVal = moment(this.group.get(this.config.name).value).format('YYYY-MM-DD') ;
let newDate = moment( this.currentDateVal).format( 'DD/MM/YYYY');
this.group.get(this.config.name).patchValue(newDate);
}
}
РЕДАКТИРОВАТЬ: это не дублирование Есть ли способ изменить формат ввода = формат даты? потому что начальная отображаемая дата верна, когда я конвертирую данные в ngOnInit.Проблема в том, что при выборе новой даты она вообще не отображается в поле ввода, а правильно сохраняется в контрольном значении формы.