【问题标题】:p-calendar maxDate and maxDate values are not updating real timep-calendar maxDate 和 maxDate 值不会实时更新
【发布时间】:2020-01-04 17:17:16
【问题描述】:

p-calendar maxDate 和 maxDate 值不会实时更新

HTML

    <p-calendar (onSelect)="_loadTimeSlot()" [readonlyInput]="true" [(maxDate)]="maxDateSat" [(minDate)]="minDateSat" class="pc-f-calendar" inputId="timeSlotDate" formControlName="timeSlotDate"
      [dateFormat]="calendarDateFormat" [locale]="calendarLocale" [placeholder]="calendarHolder" appendTo="body" showIcon="true"
      [showOnFocus]="true" [monthNavigator]="true"  [yearNavigator]="true"  yearRange="1970:2100">

    </p-calendar>

TS

   this.minDateSat = new Date(gs.minDt);
   this.maxDateSat = new Date(gs.maxDt);
   console.log("this.minDateSat >> ",this.minDateSat);
   console.log("this.maxDateSat >> ",this.maxDateSat);

在类型脚本中可以看到更新的值。但 UI 看不到更新的最小和最大日期。下次使用以前的值调用它的更新。

【问题讨论】:

  • 属性是@Input吗?
  • 是所有最小和最大日期都已输入。其设置 TS 正确。但在 UI 中看不到。第二次调用第一个值。
  • 什么是组件changeDetection?

标签: angular primeng


【解决方案1】:

把这个[(maxDate)]="maxDateSat"改成这个[maxDate]="maxDateSat"

<p-calendar (onSelect)="_loadTimeSlot()" 
     [readonlyInput]="true" [maxDate]="maxDateSat" [minDate]="minDateSat" 
     class="pc-f-calendar" inputId="timeSlotDate" formControlName="timeSlotDate"
     [dateFormat]="calendarDateFormat" [locale]="calendarLocale" [placeholder]="calendarHolder" appendTo="body" 
     showIcon="true" [showOnFocus]="true" [monthNavigator]="true"  [yearNavigator]="true"  yearRange="1970:2100">
</p-calendar>

demo ??

【讨论】:

    猜你喜欢
    • 2013-04-17
    • 2019-11-02
    • 2015-03-19
    • 2018-10-30
    • 1970-01-01
    • 2015-02-11
    • 2013-04-22
    • 1970-01-01
    • 2021-03-05
    相关资源
    最近更新 更多