angular - Primeng: p-kalender standarddato fungerer ikke


Jeg trenger å sette en standarddato i datovelgeren. Jeg prøvde å bruke defaultDate-egenskapen til p-calender som vist nedenfor:

<p-calendar placeholder="mm/dd/yyyy"
name="deadline" 
required 
[(ngModel)]="deadline" 
#deadline="ngModel" 
[showIcon]="true" 
showTime="showTime" 
hourFormat="12"
[defaultDate]="defaultDate">

Component.ts-kode:

public defaultDate: Date = new Date();
ngOnInit() {
    this.defaultDate.setDate(this.defaultDate.getDate() - 5);
}

Men koden over fungerer ikke. Vennligst hjelp.

Svar #1

//deadline: Date = new Date(0);
deadline: Date;
defaultDate: Date = new Date("January 31 1980 12:30");

ngOnInit() {
   //if (this.deadline == undefined)
   //    this.deadline = new Date("June 30 1966 12:30");
}

I henhold til problemet skal defaultDate vise måned-år ved første åpning hvis feltet er tomt.

Egenskapen defaultDate brukes ikke til å angi en spesifikk dato og gjelder bare hvis ngModel-verdien ikke er satt. For å angi standard visningsdato, bruk ngModel i stedet for defaultDate.

Svar #2

Du må bruke ngModel for binding med din standarddato som beskrevet her: Åpne lenke

Så, i ditt tilfelle, bør noe sånt som dette fungere:

<p-calendar placeholder="mm/dd/yyyy"
name="deadline" 
required 
[(ngModel)]="deadline" 
#deadline="ngModel" 
[showIcon]="true" 
showTime="showTime" 
hourFormat="12"
[defaultDate]=deadline>

Vennligst se på calendar.ts-filen for mer informasjon i Primeng GitHub: https://github.com/primefaces/primeng/blob/master/src/app/components/calendar/calendar.ts

Relaterte artikler