点击Echarts图表跳转对应页面

831 阅读2分钟

前言

在可视化项目开发过程中,经常会遇到这样的需求:点击饼图的版块,跳转到对应的详细数据页面。因为对于我来说是一个新的需求,所以我需要去查看一下官网的API。

官网API

首先我们找到实例所拥有的API组:echartsInstance ,在这里看到了经常需要使用的 setOption 用以设置图表实例的配置项和数据。再细细想想我们的需求,类似监听一个点击事件,于是我看到了 on :绑定事件处理函数(找到救星啦)。让我们来看下官网的介绍:

参数列表( eventName: string, query: string|Object, handler: Function, context?: Object)

  1. eventName:事件名称,全小写
  2. query:可选的过滤条件,能够只在指定的组件或者元素上进行响应
  3. handler:事件处理函数
  4. context:可选。回调函数内部的context,即this的指向。

有了以上技术支持我们已经可以写个小Demo了。

实战Demo

让我们从头来演示一遍 1.首先需要调用API来获得实例,将实例与DOM元素绑定

var myChart = echarts.init(target);

2.为这个实例设置配置项和添加数据,这个过程确定了图表类型,图表样式等。详情移步官网

const option = {
  XXX
};

3.使用刚指定的配置项和数据显示图表。

myChart.setOption(option);

4.以上其实已经创建了一个图表,并且展示了相关数据。但是要想添加点击事件,还需要第四步如下:

myChart.on("click", this.toReportDetail);


toReportDetail:function(param){
  console.log(param)
}

这里面传入了参数param,让我们打印查看下这是何方神圣? 可以看到这个param是点击的这个组件的信息,根据这些信息就可以进行后续的操作了