Angular 如何设置选中主要日历时的默认日期

Angular 如何设置选中主要日历时的默认日期,angular,typescript,primeng,angular-reactive-forms,primeng-calendar,Angular,Typescript,Primeng,Angular Reactive Forms,Primeng Calendar,我使用的是prime ng日历,我不知道如何设置打开日历时的默认日期。问题是,我知道如何在打开页面时为表单字段设置默认值,但我希望该字段保持为空。我只希望在打开日历后选择默认字段。现在它默认为当前日期时间,我正在寻找当前日期,但时间总是从中午12点开始。如果有帮助的话,我会将它与Angular的form builder结合使用 我已经查看了prime ng文档(),但似乎找不到与此相关的任何内容。我认为onFocus事件可能有一个解决方案,但那就是我在黑暗中拍摄,因为我不知道如何处理这些问题 这

我使用的是prime ng日历,我不知道如何设置打开日历时的默认日期。问题是,我知道如何在打开页面时为表单字段设置默认值,但我希望该字段保持为空。我只希望在打开日历后选择默认字段。现在它默认为当前日期时间,我正在寻找当前日期,但时间总是从中午12点开始。如果有帮助的话,我会将它与Angular的form builder结合使用

我已经查看了prime ng文档(),但似乎找不到与此相关的任何内容。我认为onFocus事件可能有一个解决方案,但那就是我在黑暗中拍摄,因为我不知道如何处理这些问题

这是我当前的日历字段

<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>

预计到达日期

我希望表单值最初为空。打开日历时,我希望默认日期为当前日期,默认时间为中午12点。

我无法测试下面的代码,因为prime ng不在stackblitz或类似的网站上,但您可以尝试使用random.component.ts:

ngOnInit() {
   this.requestForm.get('expected_arrival_date').setValue(new Date());
   // or this.requestForm.get('expected_arrival_date').patchValue(new Date());
}
编辑: 如果您只想在日历处于活动状态时选择默认日期,可以尝试属性
defaultDate

        <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>

这对我有用,只需通过传递javascriptDate函数进行转换即可

    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;
    }
    }

这与我想做的很接近,只是我只想在选择日历时将日期设置为默认值(使用prime ng calendar,当您选择表单框时,它会打开一个日历gui)
    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;
    }
    }