【问题标题】:PrimeNG Calendar not reflecting date in modalPrimeNG 日历未在模式中反映日期
【发布时间】:2018-05-04 20:43:43
【问题描述】:

我正在使用 PrimeNG 日历控件,我可以选择和存储日期,但是当我从数据库中获取日期并尝试通过更新 Modal 来设置它时。我收到以下错误:

<p-calendar  [(ngModel)]="bin.bidinstalledfrom" dateFormat="dd/mm/yy" 
[showTime]="true"  autocomplete="off" required name="BIDInstalledFrom" 
id="installedfrom" class="col-md-12"  ></p-calendar>

组件:

 this.bin.BIDInstalledFrom='17/05/2018'
;// I have hardcoded the date in component for the ease of development

我尝试过各种格式的日期。 '17/05/2018 16:00'、'17/05/2018'、'1526572848'等

我还尝试将模态属性bidinstalledfrom 的数据类型更改为字符串、日期、数字。同样的问题。而且由于我遇到错误,我不仅无法设置日期,而且日历也不起作用。

我在这里错过了什么?

【问题讨论】:

    标签: javascript angular angular5 primeng


    【解决方案1】:

    Primeng Calendar 接受 Date 对象。所以你必须将你的 日期字符串 转换为 JS 日期对象。例如:

    new Date('17/05/2018');
    

    然后将其分配给您的模型。

    【讨论】:

    • 就像我说的我已经尝试过 Date 模型。我也试过你提到的。同样的问题。
    • 你能分享你的转换部分吗?这样我就可以看看了。 Stackblitz 样本可能是。
    【解决方案2】:

    对于 PrimeNG 日历,您需要使用 JavaScript 日期对象并正确进行实例化。例如new Date('mm/dd/yyyy')(参见https://www.w3schools.com/js/js_dates.asphttps://www.w3schools.com/js/js_date_formats.asp)。

    模板:

    <p-calendar [(ngModel)]="bin.bidinstalledfrom" 
                [showTime]="true"
                dateFormat="dd/mm/yy">
    </p-calendar>
    

    组件:

    this.bin.bidinstalledfrom = new Date('05/17/2018');
    

    你可以在这里找到一个工作演示:https://stackblitz.com/edit/prime-ng-calendar-38du98

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多