Así que estoy trabajando en una aplicación Angular y tengo estos dos campos de entrada de fecha:
<div class="col-lg-3"> <div> {{ dataInizioLabel }} </div> <input required type="datetime-local" name="dataInizio" id="dateInput" [ngModel]="serverEvent.dataInizio | date:'yyyy-MM-ddTHH:mm'" (ngModelChange)="manageDateChange($event, dataInizio)" #dataInizio="ngModel"> <small class="text-danger" *ngIf="dataInizio.errors">Campo obbligatorio</small> </div> <div class="col-lg-3"> <div> {{ dataFineLabel }} </div> <input required type="datetime-local" name="dataFine" [ngModel]="serverEvent.dataFine | date:'yyyy-MM-ddTHH:mm'" id="dataFine" (ngModelChange)="manageDateChange($event, dataFine)" #dataFine="ngModel"> <small class="text-danger" *ngIf="dataFine.errors">Campo obbligatorio</small> </div>ManageDateChange() JS (incompleto):
manageDateChange(date, inputField) { if (date) { this.serverEvent[inputField.name] = new Date(date); } let inizio = new Date(date.val()) console.log(inizio)}
No puedo encontrar una manera de hacer que dataInizioLabel actualice el campo dataFineLabel con su misma fecha cuando se cambia. Por ejemplo, si dataInizioLaber se establece en 24/04/2022, necesitaría dataFineLabel para autoactualizarse a la misma fecha.
Además, la consola dice que date.val() no puede funcionar y da un error, por lo que no creo que esa sea la forma correcta de obtener el valor de fecha del campo de entrada.
Es posible que desee intentar usar un enlace bidireccional en su ngModel como este:
[(ngModel)]="serverEvent.dataInizio | date:'yyyy-MM-ddTHH:mm'"