HTML:
<div class = "form-group">
<nz-date-picker
class = "mt-2"
formControlName = "obsolete_date"
[nzDisabledDate] = "disabledDate"
*ngIf = "aboutForm.value.types.obsolete"
[nzFormat] = "'dd-MM-yyyy'">
</nz-date-picker>
</div>
ТС:
disabledDate = (current: Date): boolean => {
const current_date = new Date();
const selected_date = new Date(current);
// Calculate yesterday's date
const yesterday = new Date();
yesterday.setDate(current_date.getDate() - 1);
// Disable if selected date is before yesterday
return selected_date < yesterday;
};
initializeAboutForm(): void {
this.aboutForm = this.formBuilder.group({
obsolete_date: new FormControl(''),
});
}
setAboutFormData(): void {
// Patch the form with values from the loaded product
const loadedObsoleteDate = this.loadedProduct?.obsolete_date;
console.info('Loaded obsolete date:', loadedObsoleteDate); // Debugging statement result: 19-07-2024 DD-MM-YYYY
this.aboutForm.patchValue({
obsolete_date: (loadedObsoleteDate) ? loadedObsoleteDate : '',
});
}
У меня возникли ошибки при нажатии на средство выбора даты, как решить эту проблему?
Я исправил свои проблемы:
convertToDate(dateString: string): Date {
const [day, month, year] = dateString.split('-').map(part => parseInt(part, 10));
return new Date(year, month - 1, day);
}
setAboutFormData(): void {
// Patch the form with values from the loaded product
const loadedObsoleteDate = this.loadedProduct?.obsolete_date;
console.info('Loaded obsolete date:', loadedObsoleteDate); // Debugging statement result: 19-07-2024 DD-MM-YYYY
this.aboutForm.patchValue({
obsolete_date: (loadedObsoleteDate) ? this.convertToDate(loadedObsoleteDate) : '',
});
}