如何在primeng中提供日期的默认值

时间:2017-11-17 16:20:18

标签: angular primeng

我有日历下拉列表,它正在运行。但是,我想在其中提供默认日期。它怎么能这样做。

以下是我的组件如下:

import {HttpClient} from '@angular/common/http';
import { Component, OnInit } from '@angular/core';
import { routerTransition } from '../../router.animations';
import { isNumber } from '@ng-bootstrap/ng-bootstrap/util/util';

@Component({
    selector: 'app-dashboard',
    templateUrl: './dashboard.component.html',
    styleUrls: ['./dashboard.component.scss'],
    animations: [routerTransition()]
})
export class DashboardComponent implements OnInit {
   value= new Date();
   today_date: string;

   ngOnInit() {
      this.today_date = this.value.getFullYear() + '-' + this.value.getMonth() + '-' + this.value.getDate();
      console.log(this.today_date)
   }
}

HTML代码如下:

<div>
     <p-calendar (ngModel)="today_date" [inputStyle]="{'width':'100%'}" dateFormat="yy-mm-dd"></p-calendar>
</div>

没有选择日期。 Console.log out是&#39; 2017/10/17&#39;

1 个答案:

答案 0 :(得分:2)

根据我的理解,p-calendar的值为Date类型。所以一个字符串不起作用。这就是我对我的看法,而且效果很好:

TS
import * as moment from "moment"; //I use MomentJS and I recommend it also. The snippet is based on MomentJS as well.
calendarDate: Date;
ngOnInit() {
 this.calendarDate = moment().toDate();
}

HTML
<p-calendar [ngModel]="calendarDate"></p-calendar>

编辑:您的HTML模板中的语法错误。 (ngModel)没有任何意义。属性绑定应为[ngModel],事件绑定应为(ngModelChange),双向绑定应为[(ngModel)]