【问题标题】:Material date-fns adapter材料日期-fns 适配器
【发布时间】:2022-10-20 18:58:24
【问题描述】:

我目前在我的 Angular 应用程序中从 Moment.js 切换到 date-fns,但我遇到了障碍。

我还发现了一个由 angular @angular/material-date-fns-adapter 制成的适配器,并在我的材料模块中添加了这个:

{
    provide: DateAdapter,
    useClass: DateFnsAdapter,
    deps: [MAT_DATE_LOCALE],
},
{ provide: MAT_DATE_FORMATS, useValue: DateHelpers.MatDateFormat }

我收到以下我无法解决的错误:

Error: node_modules/@angular/material-date-fns-adapter/adapter/date-fns-adapter.d.ts:5:45 - error TS2314: Generic type 'DateAdapter<D>' requires 1 type argument(s).

5 export declare class DateFnsAdapter extends DateAdapter<Date, Locale> {

有没有人遇到过这个问题或知道如何解决它?

【问题讨论】:

    标签: angular typescript angular-material date-fns


    【解决方案1】:

    我面临着同样的问题。

    根本原因是我 npm 安装 @angular/material-date-fns-adapter 与其他角度/材料的版本不同。

    事实证明,我的材料版本无法使用 date-fns,因此我将尝试将网站升级到最新版本的材料。祝我好运。

    角度材料文档网站允许您选择版本。也许对你来说也是一样。

    【讨论】:

      【解决方案2】:

      这意味着当您为 DateAdapter 接口提供适配器对象(或类)时,接口中的 D 是强制性的……因此您必须定义 D 或说它是“任何”,如下所示:

      {
          provide: DateAdapter<any>,
          useClass: DateFnsAdapter,
          deps: [MAT_DATE_LOCALE],
      },
      

      那或DateAdapter&lt;undefined&gt; 甚至DateAdapter&lt;unknown&gt; 但首选是严格输入,例如:DateAdapter&lt;MyInterfaceForDateAdapter&gt;

      【讨论】:

        猜你喜欢
        • 2018-12-31
        • 2020-12-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-06-24
        • 2019-03-04
        • 2017-10-26
        相关资源
        最近更新 更多