Datepicker作業正常,直到我手動輸入日期。如果我輸入一個介于01.MM.YYY和12.MM.YYY之間的日期,該值將切換為MM.DD.YYY,但如果我輸入例如16.09.2021,它將保持為DD.MM.YYY。
我怎樣才能改變輸入欄位的日期格式呢?
HTML
<div class="form-group inline datepicker"/span>>
<mat-form-field appearance="fill"/span>>
<input matInput >。
[matDatepicker]="validFromPicker"/span>
[formControl]="validFromFormControl"。
(dateChange)="setValidFromDate($event.value)">
<mat-datepicker-toggle matSuffix [for]="validFromPicker"/span>> </mat-datepicker-toggle>。
<mat-datepicker #validFromPicker></mat-datepicker>/span>
</mat-form-field>/span>
</div>>
TypeScript
validFrom: Date;
validFromFormControl: FormControl;
ngOnInit() {
this. validFromFormControl = new FormControl(new Date() )。)
this.validFrom = new Date();
}
setValidFromDate($event: any) {
this.validFrom = $event;
}
我試著在AppModule中像這個主題一樣設定locale - https://stackoverflow.com/a/54670289/11945378但沒有成功。
uj5u.com熱心網友回復:
你需要使用MomentDateAdapter,通過它你可以很容易地改變locale:
providers: [
//locale通常會在你的應用程式的根模塊上提供。我們在
///這里的組件級別,由于我們的示例生成腳本的限制,。
{ provide: MAT_DATE_LOCALE, useValue: 'en-US' }。
//`MomentDateAdapter`和`MAT_MOMENT_DATE_FORMATS`可以通過匯入自動提供。
// `MatMomentDateModule`在你的應用程式根模塊中。我們在組件級別提供它
//這里,由于我們的示例生成腳本的限制。
{
provide: DateAdapter。
useClass: MomentDateAdapter,
deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS]。
},
{ provide: MAT_DATE_FORMATS, useValue: MAT_MOMENT_DATE_FORMATS }] 。
而這里是一個stackblitz的例子,向你展示整個代碼。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/328403.html
標籤:
