【问题标题】:Angular-Material-Datepicker: value-problem with customized pickerAngular-Material-Datepicker:自定义选择器的价值问题
【发布时间】:2019-07-23 19:23:25
【问题描述】:

我正在使用来自https://material.angular.io/components/datepicker/overview 的“具有自定义格式的日期选择器”。

我做了 2 处更改。

  • 移除 FormControl 并将 Date 与 [(ngModel)] 一起使用

  • 在模板中显示 date.getDay

这是我的堆栈闪电战。

https://stackblitz.com/edit/angular-cnmjnv

如果我使用 datepicker 并设置一个新日期,那么 date 的新值将不再是 Date。 getDay 失败。

_co.date.getDay 不是函数

如果我将更改放入没有自定义格式的日期选择器中,情况并非如此。只要我有特殊格式,就会出现问题。

{provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE]},
{provide: MAT_DATE_FORMATS, useValue: MY_FORMATS},

将这两行都放在注释中,它会起作用。但是日期的格式是标准的,不是自定义的。

这里有什么问题?如何拥有自定义格式和日期?

【问题讨论】:

    标签: angular datepicker angular-material


    【解决方案1】:

    因为您使用 MomentDateAdapter 您的日期在输入更改时成为 Moment 对象,所以您应该包装日期 date = moment(new Date (2000,11,24)); 并使用时刻方法 {{date.date()}}

    您需要导入一个 MatMomentDateModule 才能让 MomentDateAdapter 正常工作。

    【讨论】:

    • "从 '@angular/material-moment-adapter' 导入 { MatMomentDateModule };"不会成功。
    • 顺便说一句,如果你为 MomentDateAdapter 添加 MatMomentDateModule 你应该添加 moment 并且你的包大小大约是 300k 更多:(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-09
    • 2020-03-26
    • 1970-01-01
    • 2018-04-11
    相关资源
    最近更新 更多