Изменить локаль для Chart.js в React - PullRequest
0 голосов
/ 13 декабря 2018

Я пытаюсь установить язык Chart.js в приложении React.

Метод 1

Использовать в комплекте *Версия 1009 *, поскольку я не использую moment в остальной части приложения:

import Chart from 'chart.js/dist/Chart.bundle.min.js';

Проблема: Как установить язык?moment недоступен как глобальный объект, и я не могу найти его как свойство Chart или любого из его экземпляров, а также нет API для изменения языкового стандарта.

Метод 2

Используйте не входящую в комплект версию и включите moment себя.

import * as moment from 'moment';
import 'moment/locale/es';
import Chart from 'chart.js/dist/Chart.min.js';

Затем в коде перед рендерингом диаграммы:

moment.locale('es');
chart = new Chart(type, options);

Проблема: , но это выдает ошибку:

Error: Chart.js - Moment.js could not be found! You must include it before Chart.js to use the time scale. Download at https://momentjs.com

Я попытался присвоить moment локальному объекту как window.moment = moment, но та же ошибка.

(Метод) Hack 3

Просто для проверки я скопировал moment.js и es.js файлы в папку public и включил их в качестве <script> тегов в index.html, и это сработало, но я неМне не нужен такой взлом.

Примечания

Я знаю некоторые библиотеки React для Chart.js, но не хочу их использовать.

Я читал другой пост, где они предлагают перезагрузить диаграмму, если локаль была изменена до того, как она была отображена.

[https://stackoverflow.com/questions/38202587/chart-js-moment-locale][https://stackoverflow.com/questions/38202587/chart-js-moment-locale]

https://github.com/apertureless/vue-chartjs/issues/101

https://github.com/chartjs/Chart.js/issues/5284

https://github.com/chartjs/Chart.js/issues/2906

...