【问题标题】:Angular Material datepicker incorrect default dateAngular Material datepicker 不正确的默认日期
【发布时间】:2022-01-19 00:02:46
【问题描述】:

我正在使用 Material datepicker,并且 datepicker 的日期始终默认为 1/1/1 和 MatNativeDateModule 和 1/1/0001 和 MatMomentDateModule。即使以编程方式设置日期,日期默认为 1/1/1。

我正在使用反应形式。当我不提供formControlName 时,日期默认为当前日期,这是所需的行为,但是当我提供formControlName 时,它显示的日期不正确。

我正在使用 Angular 版本 12 和 Angular Material 版本 12.2.5。我只是在我的主模块和 html 中导入 MatDatepickerModuleMatNativeDateModuleMatMomentDateModule,所有内容都是从 angular 文档中复制的。 下面是我的代码

<mat-form-field appearance="fill">
      <mat-label>Start Date</mat-label>
      <input matInput formControlName="startDate" [matDatepicker]="picker1">
      <mat-datepicker-toggle matSuffix [for]="picker1"></mat-datepicker-toggle>
      <mat-datepicker #picker1></mat-datepicker>
    </mat-form-field>

【问题讨论】:

    标签: angular angular-material datepicker


    【解决方案1】:

    问题中的更多代码会很好,但如果我理解正确的话..

    formControlName="startDate" 更改为[formControl]="startDate" 并确保您已在组件中设置了 formControl。

    例如:

    startDate = new FormControl(new Date(2021, 1, 1));
    

    如果它是 FormGroup 的一部分,则应使用 formControlName。然后在.ts中,

    yourGroup = new FormGroup({
      startDate = new FormControl(new Date(2021, 1, 1));
    });
    

    更多关于如何使用 new Date() here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多