共计 2343 个字符,预计需要花费 6 分钟才能阅读完成。
fx67llQuickEcharts
A tool to help you use Echarts quickly!
npm
组件阐明
- 这原本是一个测试如何公布 Vue 组件至 npm 库的测试项目
- 做完之后发现很有意思,就略微欠缺了一下成为一个繁难疾速构建 Echarts 图表的组件
- 基本上毁灭了我之前对于 Echarts 渲染 DOM 的一堆冗余代码
- 性能不多后续有想法的话再思考持续封装,github 源码地址在底部,各位自行取用
应用步骤
- 装置 ->
npm install fx67ll-quick-echarts --save
-
注册 ->
main.js
import fx67llQuickEcharts from 'fx67ll-quick-echarts' Vue.use(fx67llQuickEcharts)
-
应用 ->
.vue
,可在 Echarts 官网 查问相干 option 配置// 属性 chartOption: Echarts option 图表配置项 // 事件 @nodeClick: 图表中节点的点击事件,返回值 chartParams 以后节点的具体信息 // 事件 @nodeClick: 如果没有点击到节点,返回值为 null,能够用来判断是否点击到空白处了 // 办法 setHLByDataIndex(dataIndex):指定图表节点高亮的办法,传入参数 dataIndex 须要高亮的节点下标或下标数组,number/number[] // 办法 setDPByDataIndex(dataIndex):指定图表节点勾销高亮的办法,传入参数 dataIndex 须要勾销高亮的节点下标或下标数组,number/number[] <quick-echarts ref="qe" :chartOption="chartOption" @nodeClick="nodeClick"></quick-echarts> methods{this.$refs.qe.setHLByDataIndex([0, 1]); this.$refs.qe.setDPByDataIndex([0, 1]); }
// 返回值 chartParams 的各项属性具体阐明 { // 以后点击的图形元素所属的组件名称,// 其值如 'series'、'markLine'、'markPoint'、'timeLine' 等。componentType: string, // 系列类型。值可能为:'line'、'bar'、'pie' 等。当 componentType 为 'series' 时有意义。seriesType: string, // 系列在传入的 option.series 中的 index。当 componentType 为 'series' 时有意义。seriesIndex: number, // 系列名称。当 componentType 为 'series' 时有意义。seriesName: string, // 数据名,类目名 name: string, // 数据在传入的 data 数组中的 index dataIndex: number, // 传入的原始数据项 data: Object, // sankey、graph 等图表同时含有 nodeData 和 edgeData 两种 data,// dataType 的值会是 'node' 或者 'edge',示意以后点击在 node 还是 edge 上。// 其余大部分图表中只有一种 data,dataType 无意义。dataType: string, // 传入的数据值 value: number|Array, // 数据图形的色彩。当 componentType 为 'series' 时有意义。color: string, // 用户自定义的数据。只在 graphic component 和自定义系列(custom series)// 中失效,如果节点定义上设置了如:{type: 'circle', info: {some: 123}}。info: * }
繁难示例
<template>
<quick-chart :chartOption="option" @nodeClick="nodeClick"></quick-chart>
</template>
<script>
export default {data() {
return {
option: {
xAxis: {
type: 'category',
data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
},
yAxis: {type: 'value'},
series: [
{data: [150, 230, 224, 218, 135, 147, 260],
type: 'line'
}
]
}
};
},
methods: {nodeClick(chartParams) {console.log(chartParams);
}
}
};
</script>
好用之处
- 老手能十分疾速的上手 Echarts,只须要去 echarts 官网查找须要的 option 即可,三步即可应用
- 对于不须要过多简单操作,仅做展现的图表,能够间接应用,只须要组装好须要的 option 传入即可
- 封装了主动监听数据变动,图表大小变动主动适应,以及监听了图表点击事件,可用于相干的联动交互
不足之处
- 目前只有一个最根底的 Echarts 应用组件,对于一些简单的图表交互操作和事件监听没有封装,将来会逐渐增加
- 对于一些特定简单款式没有作出封装,罕用的线图柱图饼图会优先做出肯定封装,并容许增加复合的款式
- 目前是整体组件援用,后续会增加按需加载的反对,晋升我的项目性能
应用版本
Vue2.6 + Echarts5.1
我是 fx67ll.com,如果您发现本文有什么谬误,欢送在评论区探讨斧正,感谢您的浏览!
如果您喜爱这篇文章,欢送拜访我的 本文 github 仓库地址,为我点一颗 Star,Thanks~ :)
转发请注明参考文章地址,非常感谢!!!
正文完