web-dev-qa-db-fra.com

Comment définir minDate pour ng-bootstrap datepicker

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.

12
Anshuman Jasrotia

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

18

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"/>
0
user1519240