我使用的是prime-ng日历,我不知道如何设置默认日期。问题是我知道如何在打开页面时为表单字段设置默认值,但是我希望该字段保持空白。我只希望在打开日历后选择默认字段。现在,它默认为当前日期时间,而我一直在寻找当前日期,但是时间总是从下午12点开始。如果有帮助,我可以将它与Angular的form-builder结合使用。
我看了prime-ng文档(https://www.primefaces.org/primeng/#/calendar),但似乎找不到与此相关的任何内容。我认为onFocus Event可能有解决方案,但是那是我在黑暗中拍摄的原因,因为我不知道如何使用它们。
这是我当前的日历字段
<fieldset class="form-group">
<label for="expected-arrival-date">Expected Arrival Date</label><br>
<p-calendar dateFormat="mm-dd-yy" hideOnDateTimeSelect="true" hourFormat="12" showTime="true" [showIcon]="true" [formControl]="requestForm.controls['expected_arrival_date']" name="expected-arrival-date" id="expected-arrival-date"></p-calendar>
</fieldset>
我希望表单值最初为空。打开日历后,我希望默认日期为当前日期,默认时间为12pm。
答案 0 :(得分:1)
我无法测试以下代码,因为prime-ng不在stackblitz或类似的东西上,但是您可以尝试在random.component.ts中进行尝试:
[1, c, 5]
修改:
如果您只想在日历处于活动状态时选择默认日期,则可以尝试使用ngOnInit() {
this.requestForm.get('expected_arrival_date').setValue(new Date());
// or this.requestForm.get('expected_arrival_date').patchValue(new Date());
}
属性:
defaultDate
在ts中, <p-calendar dateFormat="mm-dd-yy" hideOnDateTimeSelect="true" hourFormat="12"
showTime="true" [showIcon]="true"
[defaultDate]="myDate" [formControl]="requestForm.controls['expected_arrival_date']"
name="expected-arrival-date" id="expected-arrival-date"></p-calendar>
类似于:
myDate
答案 1 :(得分:0)
这对我有用,只需传入javascript 日期函数即可进行转换。
postOn:Date=null;
export class myDate{
getDAte(){
//"2019-07-31 11:00"
this.detailannounce.postDateTime="2019-07-31 11:00";
this.postOn =(this.detailannounce.postDateTime!=null)?(new Date(this.detailannounce.postDateTime)):null;
}
}