首页 文章

使用Angular在<input type =“date”>中设置特定时间

提问于
浏览
1

我想以编程方式为Angular2设置一个特定的Date,但无论我如何尝试,输入总是显示“yyyy.mm.dd” . 在我的浏览器中 .

这是我的代码:HTML:

<input class="form-control" type="date" [(ngModel)]="dateFrom" name="dateFrom" min="2016-10-01" [value]="2016-10-01" />

打字稿

public dateFrom: Date;  
constructor() {
}
ngOnInit() {
    this.dateFrom = new Date(Date.parse("2016-10-01"));
}

请注意,min =“date”和[value] =“date”在纯HTML代码中也不起作用 . 是否有一些我缺少的东西,或者从代码中设置输入值是一个非常糟糕的主意?

2 回答

  • 1

    如果需要从Angular2变量初始化值,则输入必须是Angular2表单组件的一部分,模型驱动表单或模板驱动表单 . 并且日期输入期望日期的字符串表示,而不是javascript日期对象

    value = date#表示日期的字符串 .

    documentation

    将代码更改为使用如下字符串:

    TypeScript Component

    public dateFrom: string =  "2016-10-01";
    

    Html Component

    <form #form="ngForm">
      <input type="date"  [(ngModel)]="dateFrom" name="dateFrom"/>
    </form>
    
  • 0

    这将工作,在这里看到它plunker

    使用 date pipe, (ngModelChange)[ngModel]

    <input class="form-control" type="date" [ngModel] ="dateFrom | date:'yyyy-MM-dd'" (ngModelChange)="$event = dateFrom" name="dateFrom" min="2016-10-01" [value]="2016-10-01" />
    

相关问题