• vue3.0+echarts, 图正常渲染, 但tooltip不显示


    问题

    使用vue3+echarts画统计图时, 图能正常显示, 但配置的tooltip不显示

    代码

    <template>
      <div ref="chartDom" class="chartDom">
      div>
    template>
    
    <script setup>
    import * as echarts from 'echarts'
    import { ref, onMounted, watch } from 'vue'
    const chartDom = ref()
    
    const option = {
      tooltip: {
        trigger: 'axis'
      },
      legend: {
        data: ['Email', 'Union Ads']
      },
      xAxis: {
        type: 'category',
        boundaryGap: false,
        data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
      },
      yAxis: {
        type: 'value'
      },
      series: [
        {
          name: 'Email',
          type: 'line',
          stack: 'Total',
          data: [120, 132, 101, 134, 90, 230, 210]
        },
        {
          name: 'Union Ads',
          type: 'line',
          stack: 'Total',
          data: [220, 182, 191, 234, 290, 330, 310]
        }
      ]
    }
    const chart = ref()
    
    onMounted(() => {
      chart.value = echarts.init(chartDom.value)
      chart.value.setOption(option)
    })
    script>
    
    <style>
    .chartDom{
      height: 500px;
      width: 500px;
    }
    style>
    
    

    在这里插入图片描述

    鼠标悬浮, tooltip不显示

    解决方案

    原因: echarts实例赋值给ref响应式Proxy对象,导致tooltip不显示

    解决办法:echarts实例赋值给普通变量

    <template>
      <div ref="chartDom" class="chartDom">
      div>
    template>
    
    <script setup>
    import * as echarts from 'echarts'
    import { ref, onMounted, watch } from 'vue'
    const chartDom = ref()
    
    const option = {
      tooltip: {
        trigger: 'axis'
      },
      legend: {
        data: ['Email', 'Union Ads']
      },
      xAxis: {
        type: 'category',
        boundaryGap: false,
        data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
      },
      yAxis: {
        type: 'value'
      },
      series: [
        {
          name: 'Email',
          type: 'line',
          stack: 'Total',
          data: [120, 132, 101, 134, 90, 230, 210]
        },
        {
          name: 'Union Ads',
          type: 'line',
          stack: 'Total',
          data: [220, 182, 191, 234, 290, 330, 310]
        }
      ]
    }
    // 不赋值给ref响应式Proxy对象
    let chart
    
    onMounted(() => {
      chart = echarts.init(chartDom.value)
      chart.setOption(option)
    })
    script>
    
    <style scoped lang='scss'>
    .chartDom{
      height: 500px;
      width: 500px;
    }
    style>
    
    

    在这里插入图片描述

  • 相关阅读:
    Java 将Map转成Json
    【vue】vue 是怎么把 template 模版编译成 render 函数的,什么是AST抽象语法树
    C# 设计原则 之 开放封闭 原则
    某网站自动下载音乐mp3和歌词 离线音乐
    Springboot旅游餐饮服务平台r1n3j计算机毕业设计-课程设计-期末作业-毕设程序代做
    esp-hosted 方案介绍
    剖析华为云Astro Platform技术价值与使用体验
    UI for Apache Kafka
    IOS手机耗电量测试
    学习c#的第十三天
  • 原文地址:https://blog.csdn.net/zzsan/article/details/127121761