Angular Material datepicker 不正确的默认日期
Angular Material datepicker incorrect default date
我正在使用 Material 日期选择器,并且日期选择器的日期始终默认为 MatNativeDateModule
的 1/1/1 和 MatMomentDateModule
的 1/1/0001。即使以编程方式设置日期,日期也默认为 1/1/1。
我正在使用响应式表单。当我不提供 formControlName
时,日期默认为当前日期,这是所需的行为,但当我提供 formControlName
时,它显示的日期不正确。
我正在使用 Angular 版本 12 和 Angular Material 版本 12.2.5。我只是在我的主模块中导入 MatDatepickerModule
、MatNativeDateModule
和 MatMomentDateModule
,而在 html 中,所有内容都是从 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>
问题中有更多代码会很好,但如果我理解正确的话..
将 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
我正在使用 Material 日期选择器,并且日期选择器的日期始终默认为 MatNativeDateModule
的 1/1/1 和 MatMomentDateModule
的 1/1/0001。即使以编程方式设置日期,日期也默认为 1/1/1。
我正在使用响应式表单。当我不提供 formControlName
时,日期默认为当前日期,这是所需的行为,但当我提供 formControlName
时,它显示的日期不正确。
我正在使用 Angular 版本 12 和 Angular Material 版本 12.2.5。我只是在我的主模块中导入 MatDatepickerModule
、MatNativeDateModule
和 MatMomentDateModule
,而在 html 中,所有内容都是从 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>
问题中有更多代码会很好,但如果我理解正确的话..
将 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