У меня есть дата ввода и текстовое поле с некоторыми значениями. Я хочу очистить текстовое поле, если нет даты. Это прекрасно работает, если я очищаю дату.
Но если я пытаюсь изменить месяц или дату, например, например, месяц равен '04', когда я пытаюсь изменить месяц на '05', первый символ становится 0, который меняет месяц на '00', и мое текстовое поле становится пустым.
Я знаю, почему это происходит, но как я могу ограничить ввод '00' в мм и дд.
Вот мой код:
. html:
<input type="date" [(ngModel)]="testdate" (change)="changeDate()">
<input type="text" [(ngModel)]="text">
.ts:
testdate = this.getFormattedDate(new Date());
text = 'This is a test.';
changeDate() {
if (!this.testdate) {
this.text = '';
}
}
getFormattedDate(date: any): string {
if (!date) {
return '';
}
const d = new Date(date);
const m = ((d.getMonth() + 1) <= 9 ? '0' : '') + (d.getMonth() + 1);
const dd = (d.getDate() <= 9 ? '0' : '') + d.getDate();
return d.getFullYear() + '-' + m + '-' + dd;
}
Stackblitz: https://stackblitz.com/edit/angular-6tykbd
Спасибо.