项目中遇到一个需求,要求再echarts toolbox工具栏增加自定义按钮来隐藏显示其他按钮,因为此部分资料较少,耗了不少时间,这里分享给大家。

效果图:

其实关键的就是改变按钮属性后要重新渲染一次图表,否则是不会生效。

下面是代码:

// html中存放图表id
<div class="container"><div id="userTime" />
</div>
$(document).ready(function () {var option = {title: {text: '未来一周气温变化',subtext: '纯属虚构'},tooltip: {trigger: 'axis'},legend: {data: ['最高气温', '最低气温']},toolbox: {show: true,feature: {dataView: {readOnly: false,show: false,},restore: {show: false,},saveAsImage: {show: false,},myMore: {show: true,title: '更多',icon: 'path://M432.45,595.444c0,2.177-4.661,6.82-11.305,6.82c-6.475,0-11.306-4.567-11.306-6.82s4.852-6.812,11.306-6.812C427.841,588.632,432.452,593.191,432.45,595.444L432.45,595.444z M421.155,589.876c-3.009,0-5.448,2.495-5.448,5.572s2.439,5.572,5.448,5.572c3.01,0,5.449-2.495,5.449-5.572C426.604,592.371,424.165,589.876,421.155,589.876L421.155,589.876z M421.146,591.891c-1.916,0-3.47,1.589-3.47,3.549c0,1.959,1.554,3.548,3.47,3.548s3.469-1.589,3.469-3.548C424.614,593.479,423.062,591.891,421.146,591.891L421.146,591.891zM421.146,591.891',onclick: (e) => {if (e.option.toolbox[0].feature.restore.show === true) {e.option.toolbox[0].feature.restore.show = false;e.option.toolbox[0].feature.saveAsImage.show = false;e.option.toolbox[0].feature.dataView.show = false;} else if (e.option.toolbox[0].feature.restore.show === false) {e.option.toolbox[0].feature.restore.show = true;e.option.toolbox[0].feature.saveAsImage.show = true;e.option.toolbox[0].feature.dataView.show = true;}// 重新渲染,必须词步骤,否则无效果var echartsItem = echarts.init(document.getElementById('userTime'));echartsItem.setOption(e.getOption());},},}},xAxis: {type: 'category',boundaryGap: false,data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']},yAxis: {type: 'value',axisLabel: {formatter: '{value} °C'}},series: [{name: '最高气温',type: 'line',data: [11, 11, 15, 13, 12, 13, 10],markPoint: {data: [{ type: 'max', name: '最大值' },{ type: 'min', name: '最小值' }]},markLine: {data: [{ type: 'average', name: '平均值' }]}},{name: '最低气温',type: 'line',data: [1, -2, 2, 5, 3, 2, 0],markPoint: {data: [{ name: '周最低', value: -2, xAxis: 1, yAxis: -1.5 }]},markLine: {data: [{ type: 'average', name: '平均值' },[{symbol: 'none',x: '90%',yAxis: 'max'}, {symbol: 'circle',label: {normal: {position: 'start',formatter: '最大值'}},type: 'max',name: '最高点'}]]}}]};// setoptionvar echartsItem = echarts.init(document.getElementById('userTime'));echartsItem.setOption(option);
});

大家有更好的想法希望分享分享!

补充: dataZoom类型的按钮通过改变show属性来实现显示隐藏会报错,具体原因不知道, 可设置dataZoomopacity属性来实现显示隐藏:

toolbox: {show: true,feature: {dataZoom: {show: true,iconStyle: {opacity: 0,},},myFull: {show: true,title: '更多',icon: 'path://M432.45,595.444c0,2.177-4.661,6.82-11.305,6.82c-6.475,0-11.306-4.567-11.306-6.82s4.852-6.812,11.306-6.812C427.841,588.632,432.452,593.191,432.45,595.444L432.45,595.444z M421.155,589.876c-3.009,0-5.448,2.495-5.448,5.572s2.439,5.572,5.448,5.572c3.01,0,5.449-2.495,5.449-5.572C426.604,592.371,424.165,589.876,421.155,589.876L421.155,589.876z M421.146,591.891c-1.916,0-3.47,1.589-3.47,3.549c0,1.959,1.554,3.548,3.47,3.548s3.469-1.589,3.469-3.548C424.614,593.479,423.062,591.891,421.146,591.891L421.146,591.891zM421.146,591.891',onclick: (e) => {if (e.option.toolbox[0].feature.dataZoom.iconStyle.opacity === 1) {e.option.toolbox[0].feature.dataZoom.iconStyle.opacity = 0;} else if (e.option.toolbox[0].feature.dataZoom.iconStyle.opacity === 0) {e.option.toolbox[0].feature.dataZoom.iconStyle.opacity = 1;}console.log(e.option);// 重新渲染,必须词步骤,否则无效果var echartsItem = echarts.init(document.getElementById('userTime'));echartsItem.setOption(e.getOption());},},}},

echarts工具栏增加自定义按钮显示隐藏其他按钮(更多操作)相关推荐

  1. Eclipse自定义设置显示隐藏工具栏toolbar

    Eclipse通过此方法可以自定义设置显示隐藏工具栏toolbar. 具体案例如下: 在Java Perspective界面解决消失的debug工具栏: 打开Window ->Customize ...

  2. php点击按钮显示隐藏代码,jQuery中点击按钮实现显示与隐藏的方法

    jQuery能够简单快捷的实现很多功能,因此在前端开发中被广泛使用,正在学习jQuery的小伙伴,你会用jQuery实现点击显示再次点击隐藏的效果吗(即jQuery二次点击隐藏)?这篇文章就和大家讲讲 ...

  3. SAP Fiori Lead应用中Accept按钮显示隐藏的逻辑

    SAP Fiori应用里有的细节,有时候有点让人疑惑. 比如有的Lead明细页面打开之后, footerbar区域只有Edit和Followup两个按钮: 而有的Lead页面, 同样位置的区域,有Ac ...

  4. Echarts工具栏(自定义按钮)

    toolbox: { // 工具箱show: false,feature: {myTool1: { //必须要my开头show: true,title: '全市',iconStyle: {border ...

  5. 点击按钮显示隐藏的表格

    需求描述:进入页面的时候,点击添加按钮,已添加列表才展示出来 解决思路:对添加按钮加个监听,改变列表隐藏为显示 代码: //html代码<div class="row" id ...

  6. 原生js实现点击按钮显示/隐藏图片

    目录结构: 代码: <!DOCTYPE html> <html lang="en"> <head><meta charset=" ...

  7. jqgrid控制多选按钮显示隐藏

    function setOptBtn(){     var ids = jQuery(grid_selector).jqGrid('getDataIDs');     var mbe ='', mse ...

  8. SystemUI导航键显示隐藏某个按钮(Recent Home Back)

    SystemUI导航键控制显示流程: 导航键控制显示流程

  9. 微信小程序复杂条件判断按钮显示隐藏

    背景概述: 第二个和第三个view根据条件判断显示,第一个view根据条件判断是否在任一页面显示. <view class="root"><view wx:if= ...

最新文章

  1. BGP local-preference MED属性实验
  2. ELK菜鸟手记 (三) - X-Pack权限控制之给Kibana加上登录控制以及index_not_found_exception问题解决
  3. 网络营销——网络营销专员如何做好网站外链优化工作?
  4. bootstranp选项卡怎么把每个选项卡里面的表单分开提交_EXCEL 宏应用基础知识,利用已实现的宏,制作自己的功能选项卡...
  5. linux i2c子系统入口,I2C子系统1 - ARM_Linuxx的个人空间 - OSCHINA - 中文开源技术交流社区...
  6. 【机器学习基础】关于异常检测的分享!
  7. Android NDK 使用第三方静态库(转)
  8. python下载在哪个盘_Windows下载安装python详情和注意事项
  9. 什么高大填空四个字动人_雅思考试的技巧?雅思听力part4填空做题技巧分享
  10. python开发聊天机器人_Python实现机器人聊天
  11. python有限元传热求解_二维稳态热传导基本方程的有限元求解(2)
  12. mysqlbinlog结合sed命令恢复update时未加where条件之前的数据
  13. 模板中的占位符替换问题
  14. UTM坐标转GPS方法分享
  15. 全网最!详!细!tarjan算法讲解
  16. 不做律师,玩起了电子合同,这家入选微软加速器第十期的电子合同企业究竟是什么来头?
  17. wamp php 7.0,wamp如何尝鲜php7
  18. 【数据库】云数据库rds是什么意思?有什么优势?
  19. 能够做到亚马逊月销售额50w以上的运营,他们有什么共同点 和技巧
  20. Python 数据分析之双色球高频数据统计

热门文章

  1. 【游戏分析】《阴阳师:百闻牌》1.0.12版本 游戏体验分析总结
  2. java微信公众号开发怎样进行本地联调
  3. 入门必备 Android手机八大实用秘籍
  4. 亲影,回忆不褪色,精彩永留存
  5. 不允许使用不完整的类型_个税纳税记录不完整,怎么办怎么办?看这里!
  6. 第8章-SpringCloud之一统天下(微服务)
  7. 湖南大学计算机系院士,2020世界计算机大会名家讲堂在湖南大学开讲
  8. 化腐朽为神奇,化神奇为腐朽—让人无奈的耳朵的适应性
  9. 开源NoSQL数据库介绍
  10. 高考成绩表查询2021,2021高考查分时间表