Как отображать месяцы в правильной последовательности? - PullRequest
1 голос
/ 06 февраля 2020

Как получить месяцы, как на картинке? Теперь я вижу - feb20

enter image description here

const chartOptions = {
        options: {
            chart: {
                id: "basic-bar"
            },
            xaxis: {
                labels: {
                    formatter: function(value, timestamp, index) {
                        return moment(new Date()).format("MMM YYYY")
                    }
                }
            }
        },
        series: [
            {
                name: "Доход",
                data: [onSumArr() !== undefined ? onSumArr() : 0]
            }
        ]
    };

Теперь я так делаю, и это не работает.

Ответы [ 2 ]

0 голосов
/ 06 февраля 2020

Измените xaxis.labels.formatter функцию на

formatter: function(val, timestamp) {
  return moment(new Date(timestamp)).format("MMM YYYY")
}
0 голосов
/ 06 февраля 2020

Ваша проблема возникает здесь

return moment(new Date()).format("MMM YYYY")

Date () инициализируется как текущая дата, месяц, а теперь февраль. Вам нужно установить месяц с датой date.setMonth([0-11]). timestamp или index в параметрах анонимной функции могут обеспечить это.

Я не специалист по apexCharts, но вы можете заменить ваш форматтер следующим:

formatter: function(value, timestamp, index) {
    var startDate = moment(new Date('2019-12-01T00:00:00'));
    startDate.add(index, 'months');
    return moment(startDate).format("MMM YYYY")
}
...