1、Echarts图表重绘的时候可能会出现这个警告:There is a chart instance already initialized on the dom.
原因:我们在重绘图表的时候,Dom实例还存在,就会重复初始化。
解决办法:
// 在初始化实例之前先将实例销毁,实例销毁后就无法再被使用了,然后再重新进行初始化
that.myChart && that.myChart.dispose()
2、Echarts中图表的移动端点击事件(折线图、柱状图):
在做移动端h5的图表时,发现如果想要具体的点击某一个点或者柱子的时候,需要点击两次或者更多次才触发。原因待补充。。。
解决办法:
this.char.getZr().on('click',params => {
// 监听鼠标点击的图表区域
const pointInPixel= [params.offsetX, params.offsetY]
if (that.char.containPixel('grid',pointInPixel)) {
let xIndex=that.char.convertFromPixel({
seriesIndex:0},[params.offsetX, params.offsetY])[0]
if (data[xIndex]) {
that.newDate = data[xIndex].tradeDate.replace(/\//g,'.')
let realNumber = data[xIndex].rtnTotal
realNumber=realNumber+''
var number = realNumber.split(".");
var reg = /\d{1,3}(?=(\d{3})+$)/g
if(number.length===1){
realNumber = (number[0] + '').replace(reg, '$&,')
}
that.nowProfit = realNumber
}
document.getElementsByClassName('defaultDate')[0].style.background = '#f5effe'
}
})
3、Echarts图表–>鼠标移入取消小手:
当图表中没有可点击跳转的需求时,则鼠标移入当前图表时,小手状态变为箭头。
// myChart是绘图的对象
myChart.getZr().on('mousemove', param => {
myChart.getZr().setCursorStyle('default')
// 若鼠标滑过区域位置在当前图表范围内 鼠标设置为小手
// if (radarChart.containPixel('grid', pointInPixel)) {
// radarChart.getZr().setCursorStyle('pointer')
// }
})