Как я могу получить URI от ApexCharts с React Js - PullRequest
0 голосов
/ 07 февраля 2020

Я пытаюсь получить URI диаграммы с помощью метода Data URI. Я видел множество примеров использования Apexchart Js для получения pdf, например этого CodePen от ApexChart , при попытке воспроизвести его по реакции я получил TypeError: Невозможно прочитать свойство 'type' undefined

Вот мой компонент монтирования выглядел так:

componentDidMount() {

console.log(this.state.loading);
if (this.state.loading === false) {
  const {options} = this.state;
  const node = ReactDOM.findDOMNode(this);
  if (node instanceof HTMLElement) {
    var chart = new ApexCharts(node.querySelector('.charty'), options);
    chart.render().then(() => {
      setTimeout(function() {
        chart.dataURI().then(uri => {
          console.log(uri);
        });
      }, 4000);
    });
  }
} else {
  return;
}
}

Тип определяется также в моем состоянии и в рендере так:

    <div className='rfe'>
      <div className='rfea'>
        From {this.state.AxisMonth[0]} to{' '}
        {this.state.AxisMonth[this.state.AxisMonth.length - 1]}
      </div>
      <Chart
        className='charty'
        type='area'
        options={this.state.options}
        series={this.state.series}
        width='1000'
        height='380'
      />
    </div>
  </div>

вот ошибка, которую я получил

enter image description here

Действительно нужна помощь с этим.

1 Ответ

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

Вы можете использовать функцию exec для вызова любого метода ApexCharts из компонента React.

 getDataUri() {
    ApexCharts.exec("basic-bar", "dataURI").then(({ imgURI, blob }) => {
      console.log(imgURI);
    });
  }

Вот полные codesandbox пример

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...