Несколько форматов dateInput в mat-datepicker - PullRequest
0 голосов
/ 17 мая 2019

Я создаю два средства выбора дат: один с форматом «ММ / ГГГГ», а другой с форматом «ДД / ММ / ГГГГ», но я не могу настроить оба формата в модуле.

Я пытался поместить в один модуль настройки для ММ / ГГГГ, а в модуле приложения настройки для ДД / ММ / ГГГГ.

Код 1:

export const MY_FORMATS = {
  parse: {
    dateInput: 'MM/YYYY',
  },
  display: {
    dateInput: 'MM/YYYY',
    monthYearLabel: 'MMM YYYY',
    dateA11yLabel: 'LL',
    monthYearA11yLabel: 'MMMM YYYY',
  },
...

providers: [{ provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },
  {provide: MAT_DATE_FORMATS, useValue: MY_FORMATS}]
}; 

Код 2:

export const MY_FORMATS = {
  parse: {
    dateInput: 'DD/MM/YYYY',
  },
  display: {
    dateInput: 'DD/MM/YYYY',
    monthYearLabel: 'DD MMM YYYY',
    dateA11yLabel: 'LL',
    monthYearA11yLabel: 'DD MMMM YYYY',
  },
};
...
providers: [{ provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },
{provide: MAT_DATE_FORMATS, useValue: MY_FORMATS}]
})

Если я использую формат ДД / ММ / ГГГГ в настройках, все даты отображаются как ДД / ММ / ГГГГ, если я не использую, все даты отображаются как ММ / ГГГГ. Что я должен сделать, чтобы одна дата отображалась в формате ММ / ГГГГ, а другая в формате ДД / ММ / ГГГГ?

Ответы [ 2 ]

0 голосов
/ 20 мая 2019

Я нашел способ решить эту проблему, выполнив те же действия, что и в примерах Datepicker в Angular Material Wiki, вместо определения поставщиков DateAdapter и Date Formats в модуле, я определил его в компоненте, затем он заработал.

0 голосов
/ 17 мая 2019

Вы уже читали это? https://medium.com/@kristinahertmann/multi-language-date-formats-with-angular-material-b8598415d117

Рабочий stackblitz для этого примера можно найти ЗДЕСЬ.

...