Vue——echarts 图标鼠标悬停及鼠标移出事件

echarts官方文档地址:https://echarts.apache.org/examples/zh/index.html

在这里插入图片描述
饼图中心默认展示值,鼠标悬停会出现默认值不隐藏,导致与其新的数值重叠的情况

解决方法:
在这里插入图片描述
完整代码如下:

<span style="font-weight:600">操作系统</span>
<div
  class="echart"
  id="system-echart"
  :style="{ float: 'left', width: '100%', height: '230px' }"
></div>

<script>
import * as echarts from "echarts";
import { pieEchart } from "../util/echart";
export default {
  name: "PieEchart",
  data() {
    return {
      systemName: "操作系统",
      systemData: [
        { value: 300, name: "windows" },
        { value: 200, name: "macos" },
        { value: 499, name: "android" },
        { value: 655, name: "ios" }
      ]
    };
  },
  mounted() {
    let system_echart = document.getElementById("system-echart");
    this.systeminitChart(system_echart, this.systemName, this.systemData);
  },
  methods: {
    systeminitChart(id, name, pieData) {
      this.renderInitEchart(id, name, pieData);
    }
    renderInitEchart(id, name, pieData) {
      let getchart = echarts.init(id);
      let option = pieEchart(name, pieData);
      getchart.setOption(option);

      getchart.on("mouseover", function() {
        getchart.setOption({
          series: [
            {
              label: {
                show: false
              }
            }
          ]
        });
      });

      getchart.on("mouseout", function() {
        getchart.setOption({
          series: [
            {
              label: {
                show: true
              }
            }
          ]
        });
      });

      //随着屏幕大小调节图表
      window.addEventListener("resize", () => {
        getchart.resize();
      });
    }
  }
};
</script>

util/echarts.js

function pieEchart(name, data) {
  let option = {
    tooltip: {
      trigger: "item"
    },
    legend: {
      type: "scroll",
      orient: "vertical",
      left: 180,
      top: 30,
      icon: "rect",
      itemHeight: 44,
      itemWidth: 10,
      selectedMode: false,
      textStyle: {
        color: "#fff",
        fontSize: 16,
        rich: {
          name: {
            fontSize: 14,
            color: "#011",
            padding: [4, 0, 0, 0]
          },
          num: {
            fontSize: 22,
            fontWeight: 600,
            padding: [10, 0, 0, 0],
            color: "#000"
          }
        }
      },
      formatter: function(name) {
        let tarValue;
        for (let i = 0; i < data.length; i++) {
          if (data[i].name == name) {
            tarValue = data[i].value;
          }
        }

        return [`{name|${name}}`, `{num|${tarValue}}`].join("\n");
      }
    },
    series: [
      {
        name,
        center: ["15%", "42%"],
        type: "pie",
        radius: ["40%", "60%"],
        avoidLabelOverlap: false,
        label: {
          show: true,
          position: "center",
          formatter: "{c}",
          fontSize: "26",
          fontWeight: "600"
        },
        emphasis: {
          label: {
            show: true,
            fontSize: "26",
            fontWeight: "600"
          }
        },
        labelLine: {
          show: false
        },
        data
      }
    ]
  };

  return option;
}

export { pieEchart };

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
VueEcharts是两个独立的技术,分别用于构建前端应用和可视化图表。Vue是一套用于构建用户界面的渐进式JavaScript框架,而Echarts是一个基于JavaScript的可视化图表库。 在Vue中使用Echarts时,可以通过绑定事件来实现对鼠标事件的响应。具体来说,可以使用Echarts提供的事件监听方法,如`on`、`off`、`dispatchAction`等。 以下是一些常见的鼠标事件及其对应的处理方式: 1. 鼠标点击事件(click):当用户点击图表上的某个元素时触发。可以通过在Vue组件中监听`click`事件,并在回调函数中处理相应的逻辑。 2. 鼠标移入事件(mouseover):当鼠标移入图表上的某个元素时触发。可以通过在Vue组件中监听`mouseover`事件,并在回调函数中处理相应的逻辑。 3. 鼠标移出事件(mouseout):当鼠标移出图表上的某个元素时触发。可以通过在Vue组件中监听`mouseout`事件,并在回调函数中处理相应的逻辑。 4. 鼠标移动事件(mousemove):当鼠标在图表上移动时触发。可以通过在Vue组件中监听`mousemove`事件,并在回调函数中处理相应的逻辑。 5. 鼠标滚轮事件(mousewheel):当鼠标滚动时触发。可以通过在Vue组件中监听`mousewheel`事件,并在回调函数中处理相应的逻辑。 以上只是一些常见的鼠标事件Echarts还提供了其他更多的事件供开发者使用。具体的事件处理方式可以参考Echarts官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值