1

我正在使用 Ionic 4/Angular 7 和 Angular Material 7.2.1 开发应用程序。

该应用程序使用巴西日期格式 DD/MM/YYYY。

当我使用日期选择器本身选择日期时,输入中的文本很好。

但是,在日期选择器的(模糊)输入中键入日期后,月份和日期会被切换。例如,如果我输入 03/02/2015,在模糊事件之后,输入将显示 02/03/2015。

app.module.ts:

import 'moment/locale/pt-br';
import { MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material';

import { MAT_MOMENT_DATE_FORMATS, MomentDateAdapter } from '@angular/material-moment-adapter';


const MY_FORMATS = {
    parse: {
      dateInput: 'LL',
    },
    display: {
      dateInput: 'DD/MM/YYYY',
      monthYearLabel: 'MM/YYYY',
      dateA11yLabel: 'LL',
      monthYearA11yLabel: 'YYYY',
    },
  };



@NgModule({
    declarations: [
        AppComponent
    ],
    entryComponents: [],
    imports: [
        // BrowserModule,
        BrowserAnimationsModule,
        HttpClientModule, 
        IonicModule.forRoot(),
        IonicStorageModule.forRoot(),
        AppRoutingModule,
        ProjectMaterialModule,
        ServiceWorkerModule.register('ngsw-worker.js', { enabled: environment.production })
    ],
    providers: [
        StatusBar,
        SplashScreen,
        { provide: LOCALE_ID, useValue: 'pt-BR' },
        { provide: MAT_DATE_FORMATS, useValue: MY_FORMATS },
        //{ provide: MAT_DATE_FORMATS, useValue: MAT_MOMENT_DATE_FORMATS },
        { provide: MAT_DATE_LOCALE, useValue: 'pt-BR' },

        { provide: RouteReuseStrategy, useClass: IonicRouteStrategy }
    ],
    bootstrap: [AppComponent]
})
export class AppModule { }

在 app.component 我做:

ngOnInit () {
    moment.locale('pt-BR');
} 

如何设置 mat-datepicker 以便它识别输入中键入的日期格式?

4

1 回答 1

0

可惜还没有解决。我删除了日历并使用带有 Angular 2 文本掩码和 inputmode="numeric" 的输入。

于 2019-02-19T11:14:05.833 回答