【问题标题】:How to set default date of prime-ng calendar when it is selected选择时如何设置prime-ng日历的默认日期
【发布时间】:2019-07-25 20:09:50
【问题描述】:

我正在使用 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 点。

【问题讨论】:

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


    【解决方案1】:

    我无法测试下面的代码,因为 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>
    

    在 ts 中,myDate 将类似于:

    myDate = new Date(); // or whatever
    

    【讨论】:

    • 这与我想要做的很接近,除了我只想在选择日历时将日期设置为默认值(使用 prime-ng 日历,它会在您选择时打开一个日历 gui表单框)
    【解决方案2】:

    这对我有用,只需通过传入 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;
        }
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-19
      • 2019-09-05
      • 2021-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-19
      相关资源
      最近更新 更多