问题分析: 在使用React与Apexcharts构建图表时,十字线默认情况下可能会显示错误的数据。这是由于Apexcharts中的bug导致的,尚未被修复。然而,我们可以使用一些技巧来解决该问题。
我们可以使用Apexcharts的注入功能来注入自定义函数来渲染十字线,并通过修改十字线文本的方式来修复对应的bug。以下是代码示例:
import React, {Component} from 'react'; import ApexCharts from 'apexcharts'; import ReactApexChart from 'react-apexcharts';
class LineChart extends Component { constructor(props) { super(props);
this.state = {
options: {
chart: {
id: 'line-chart'
},
markers: {
size: 5,
colors: ['#000'],
strokeColors: '#fff',
strokeWidth: 2,
hover: {
size: 7,
}
},
tooltip: {
x: {
format: 'dd/MM/yy HH:mm'
}
},
xaxis: {
type: 'datetime'
},
crosshairs: {
width: 1,
position: 'back',
stroke: {
color: '#000',
width: 1,
dashArray: 0
},
label: {
borderColor: '#000',
style: {
fontSize: '14px',
fontWeight: 'bold',
fontFamily: undefined,
color: '#fff',
cssClass: 'apexcharts-yaxis-label',
},
offsetX: 0,
offsetY: 0
},
markers: {
size: 0
},
fill: {
type: 'gradient',
gradient: {
colorFrom: '#D8E3F5',
colorTo: '#BED1E6',
stops: [0, 100],
opacityFrom: 0.4,
opacityTo: 0.5,
}
}
},
},
series: [{
name: 'series-1',
data: [{
x: new Date(2018, 10, 18, 9, 30),
y: 0.5
}, {
x: new Date(2018, 10, 18, 10, 30),
y: 0.7
}]
}]
};
}
componentDidMount() {
ApexCharts.exec(
'line-chart',
'updateOptions',
{
tooltip: {