Я пытаюсь установить минимальное значение второго средства выбора даты, если я изменяю первое средство выбора даты, но я не могу сделать это:
Я получил эти два средства выбора даты
<mat-form-field>
<span *ngIf="item.type=='date' && item.hijoDate">
<input matInput [id]="item.key" [matDatepicker]="picker"
[min]="minDatePadre" [max]="maxDatePadre"
(dateChange)="seleccionaFecha($event, 'padre', item.hijoDate)"
readonly [placeholder]="item.label" [formControlName]="item.key">
<mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
<mat-datepicker #picker></mat-datepicker>
</span>
<span *ngIf="item.type=='date' && item.padreDate">
<input matInput [id]="item.key" [matDatepicker]="picker1"
[min]="minDateHijo" [max]="maxDateHijo"
(dateChange)="seleccionaFecha($event, 'hijo', item.padreDate)"
readonly [placeholder]="item.label" [formControlName]="item.key">
<mat-datepicker-toggle matSuffix [for]="picker1"></mat-datepicker-toggle>
<mat-datepicker #picker1></mat-datepicker>
</span>
</mat-form-field>
В компоненте у меня есть следующее:
minDatePadre= new Date(2010, 1, 1);
maxDatePadre= new Date(2020, 0, 1);
minDateHijo= new Date(2010, 1, 1);
maxDateHijo= new Date(2020, 0, 1);
Я инициализирую значения, которые отлично работают, и показываю максимальное и минимальное значения в каждом указателе даты, но когда я пытаюсь изменить значения, это не работает здесь:
seleccionaFecha(event, tipo, elemento){
if(tipo == 'padre'){
let fechaHijo = this.form.controls[elemento].value;
let fechaPadre = event.value;
if(fechaPadre>fechaHijo){//SI LA FECHA INICIAL ES IGUAL
this.form.controls[elemento].setValue(fechaPadre);
}
this.minDateHijo=new Date(2019, 1, 23);
}
else if(tipo == 'hijo'){
let fechaPadre = this.form.controls[elemento].value;
let fechaHijo = event.value;
}
}
когда это соответствует условию, я изменяю значение
this.minDateHijo
, но ничего не меняется и не выдает никакой ошибки, я не знаю, как обновить это значение,пожалуйста, помогите, спасибо
ОБНОВЛЕНИЕ: Я вижу, что поведение min обновляется, но datepicker не обновляется, пока я не выберу какое-то значение в дочернем DatePicker, а затем обновится, мне нужночтобы найти способ обновить минимальное значение указателя даты на ходу.
ОБНОВЛЕНИЕ: это URL-адрес стекаблица с примером:
https://stackblitz.com/edit/angular-szjuq1
что я хочу, это выбрать первый datepickeи затем установите минимальную дату во втором устройстве выбора даты, но когда я выбираю первое средство выбора даты, оно только обновляет его, а не следующее, потому что я создаю его динамически, спасибо, если вы можете сказать мне какой-нибудь способ сделать это.