Vous trouverez ci-dessous le code que j'utilise pour définir minDate.
<input ngbDatepicker #d="ngbDatepicker" [minDate]="minDate" [formControl]="Form.controls['dateOfBirth']">
Dans le composant, je mets minDate comme ci-dessous:
public minDate: Date = void 0;
constructor() {
this.minDate = new Date(1950, 1, 1);
}
Mais le sélecteur de date indique toujours 2007 comme minDate. Y a-t-il quelque chose qui manque? Faites-moi savoir si d'autres informations sont nécessaires.
Merci pour votre temps.
D'après votre extrait de code, il semble que vous utilisiez ng-bootstrap from https://ng-bootstrap.github.io/#/components/datepicker . En supposant que je sois correct, vous devez utiliser NgbDateStruct
(un objet avec des champs tels que year
, month
, day
) au lieu de l'objet JavaScript Date
intégré. Par exemple, pour définir une date minimale au début de cette année, utilisez:
this.minDate = {year: 2017, month: 1, day: 1};
Voici un exemple de travail dans un dépliant: http://plnkr.co/edit/VDEYDwp7QIZDDHatCNPh?p=preview
Il suffit de passer [minDate]="{year: 1980, month: 1, day: 1}"
:
<input type="text" [(ngModel)]="date" ngbDatepicker #d="ngbDatepicker" (focus)="d.open()" [minDate]="{year: 1980, month: 1, day: 1}" name="date" class="form-control"/>