Primeng: p-calender default date not working

跟風遠走 提交于 2019-12-11 07:06:21

问题


I need to set a default date in datepicker. I tried using defaultDate property of p-calender as given below:

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

Component.ts code:

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

However, the above code is not working. Please help.


回答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");
}

According to the issue, defaultDate is to display the month-year on first opening if the field is blank.

The defaultDate property is not used to set a specific date and is only applicable if ngModel value is not set. To set the default displayed date, use ngModel instead of defaultDate.




回答2:


You have to use ngModel for binding with your default date as described here : Open Link

So, in your case, something like this should work:

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



回答3:


try this

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


来源:https://stackoverflow.com/questions/46932331/primeng-p-calender-default-date-not-working

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!