Я хотел бы включить / отключить кнопку на основе средства выбора даты, и у меня есть настройка для проверки, подобная этой:
public dateChanged = false;
public availableFromDate: Date;
public availableToDate: Date;
initDatepickers() {
const currentDay = new Date();
this.availableFromDate = currentDay;
this.availableToDate = currentDay;
}
private dateCheck() {
if ((this.availableFromDate > this.availableToDate) || (this.availableFromDate === this.availableToDate)) {
this.dateChanged = false;
} else {
this.dateChanged = true;
}
console.log(this.dateChanged);
console.log(`Available from - ${this.availableFromDate}`);
console.log(`Available to - ${this.availableToDate}`);
}
Проверка работает хорошо вверх и активирует кнопку, когда издата ниже, однако!Если вы регистрируете значения в консоли, кнопка будет отключена, потому что значение init равно false, а не потому, что проверка работает.
Два объекта даты инициализируются по-разному (dump.log dump):
true
clinics-upload-documents.component.ts:73 Available from - Fri Feb 22 2019 00:00:00 GMT+0100 (Central European Standard Time)
clinics-upload-documents.component.ts:74 Available to - Fri Feb 22 2019 10:52:31 GMT+0100 (Central European Standard Time)
Это никогда не будет ложным, потому что первая дата obj равна @ 0:00:00, а вторая привязана к текущему местному времени.
они используются для манипулирования датами:
onFromChange(fromDate) {
const dateType = 'from';
this.setDateValues(fromDate, dateType);
}
onToChange(toDate) {
const dateType = 'to';
this.setDateValues(toDate, dateType);
}
private setDateValues(date: Date, dateType: string) {
dateType === 'from' ? this.availableFromDate = new Date(date) : this.availableToDate = new Date(date);
this.dateCheck();
}
Что мне так не хватает?