选择时如何设置prime-ng日历的默认日期
How to set default date of prime-ng calendar when it is selected
我使用的是 prime-ng 日历,我不知道如何在打开时设置默认日期。问题是我知道如何在页面打开时为表单字段设置默认值,但我希望该字段保持为空。我只想在打开日历后选择一个默认字段。现在它默认为当前日期时间,我正在寻找当前日期,但时间总是从中午 12 点开始。如果有帮助,我会将其与 Angular 的表单生成器结合使用。
我查看了 prime-ng 文档(https://www.primefaces.org/primeng/#/calendar),但似乎找不到与此相关的任何内容。我认为 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());
}
编辑:
如果您只想 select 日历活动时的默认日期,您可以尝试 属性 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>
在 ts 中,myDate
将类似于:
myDate = new Date(); // or whatever
这对我有用,只需传入 javascript Date 函数即可转换。
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 日历,我不知道如何在打开时设置默认日期。问题是我知道如何在页面打开时为表单字段设置默认值,但我希望该字段保持为空。我只想在打开日历后选择一个默认字段。现在它默认为当前日期时间,我正在寻找当前日期,但时间总是从中午 12 点开始。如果有帮助,我会将其与 Angular 的表单生成器结合使用。
我查看了 prime-ng 文档(https://www.primefaces.org/primeng/#/calendar),但似乎找不到与此相关的任何内容。我认为 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());
}
编辑:
如果您只想 select 日历活动时的默认日期,您可以尝试 属性 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>
在 ts 中,myDate
将类似于:
myDate = new Date(); // or whatever
这对我有用,只需传入 javascript Date 函数即可转换。
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;
}
}