Ошибка при загрузке локали в Angular с помощью angularx-flatpickr - PullRequest
0 голосов
/ 05 мая 2019

Добавлена ​​локаль в директиву для углового компонента:

<input
type="text"
name="date"
mwlFlatpickr
[altInputClass]="'form-control'"
[(ngModel)]="post.date"
[altInput]="true"
[inline]="true"
[dateFormat]="'d.m.y'"
[locale]="'Portuguese'"
[defaultValue]="'today'"
[convertModelValue]="true">

При попытке загрузить локаль возвращается ошибка:

Ошибка: flatpickr: неверная локаль португальский

в setupLocale (flatpickr.js: 1910) в init (flatpickr.js: 581) в FlatpickrInstance (flatpickr.js: 2419) в _flatpickr (flatpickr.js: 2438) в flatpickr (flatpickr.js: 2463)в FlatpickrDirective.push ../ node_modules / angularx-flatpickr / fesm5 / angularx-flatpickr.js.FlatpickrDirective.ngAfterViewInit (angularx-flatpickr.js: 295) в callProviderLifecycles (core.js: 22416) в callElement ():) в callLifecycleHooksChildrenFirst (core.js: 22380) в checkAndUpdateView (core.js: 23316)

1 Ответ

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

В вашем файле module.ts импортируйте все необходимые файлы, создайте функцию с именем flatpickrFactory и импортируйте языковой корреспондент для вашего языка ( Все языковые файлы здесь )

import { FlatpickrModule, FLATPICKR } from 'angularx-flatpickr';
import flatpickr from 'flatpickr';
import { Portuguese } from 'flatpickr/dist/l10n/pt';

export function flatpickrFactory() {
  flatpickr.localize(Portuguese);
  return flatpickr;
}

Теперь, по вашему component.ts импорту flatpickrFactory(); по вашему ngOnInit() методу.

ngOnInit() {
  flatpickrFactory();

  // Your other logic here...
} 

И в вашем component.html (templateUrl) добавьте директиву, как в следующем примере:

<input 
  type="text" 
  mwlFlatpickr 
  [(ngModel)]="selectedDate" 
  [altInput]="true" 
  [dateFormat]="'d.m.y'"
  [locale]="'Portuguese'"
  [convertModelValue]="true">
...