选择时如何设置素数日历的默认日期

时间:2019-06-27 17:12:22

标签: angular typescript primeng angular-reactive-forms primeng-calendar

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

我看了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。

2 个答案:

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