vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > vue3 ts编写echart是tooltip无法展示

vue3 ts编写echart是tooltip无法展示的解决

作者:Aurora_juan

这篇文章主要介绍了vue3 ts编写echart是tooltip无法展示的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

vue3 ts编写echart是tooltip无法展示

用ts 定义的一个ref 初始化ehart实例

tooltip参考网上的写法 改了很多次 页面还是不能展示

tooltip片段代码如下

tooltip: {
        show: true,
        trigger: 'axis',
        axisPointer: {
          // 坐标轴指示器,坐标轴触发有效
          type: 'line', // 默认为直线,可选为:'line' | 'shadow'
          lineStyle: {
            color: '#57617B'
          }
        },
        formatter:
          '{b}<br />{a0}: {c0}%<br />{a1}: {c1}%<br />{a2}: {c2}%',
        backgroundColor: 'rgba(0,0,0,0.7)', // 背景
        padding: [8, 10], // 内边距
        extraCssText: 'box-shadow: 0 0 3px rgba(255, 255, 255, 0.4);' // 添加阴影
      },

echarts社区都可以展示怎么到这里就这样了

强大的百度

解决办法

用 markRaw 让echarts从监听对象变成普通对象!!

myEhart.value = markRaw(echarts.init(cyEchartRef.value))
      myEhart.value.setOption(echartOption)
      // myEhart.off('click')
      myEhart.value.on('click', function(params) {
        fetchDataFun(params.value)
        getLight(params.value)
      })

可以成功展示啦~ 

vue对echarts的tooltip自定义内容

先看一下后端返回的数据结构

change: {
	date: {
		date_x: ["2020-11-12"], 
		date_y: [10],
		date_describe: [5]
	}
}

tooltip 格式化后显示效果

格式化代码部分:

drawPass(){
  // 基于准备好的dom,初始化echarts实例
  let ref = this.$refs.pass
  let discrible = this.pwd_data_describe
  if (ref && ref !== undefined) {
    let myChart = this.$echarts.init(ref)
    // 绘制图表
    myChart.setOption({
      tooltip: {
        show: true,
        formatter: function (param) {
          console.log(param)
          return param.name + '<br/>' + param.value + '<br/>描述:距上一次修改天数为 ' + discrible[param.seriesIndex]
        }
      },
      xAxis: {
        type: 'category',
        data: this.pwd_data_x,
      },
      yAxis: {
        type: 'value'
      },
      series: [{
        data: this.pwd_data_y,
        type: 'line',
        symbol: 'triangle',
        symbolSize: 20,
        lineStyle: {
          color: '#cc302e',
          width: 4,
          type: 'dashed'
        },
        itemStyle: {
          borderWidth: 3,
          borderColor: '#ff6f6c',
          color: '#ff9392'
        }
      }]
    })
  }
},

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文