Echarts:重写toolbox的还原工具并监听click事件

Echarts中的toolbox.feature提供了部分图标,比如

saveAsImage 保存图片

restore 配置项还原

dataView 数据视图工具,可以展现当前图表所用的数据,编辑后可以动态更新。

dataZoom 数据区域缩放,目前只支持直角坐标系的缩放。

magicType 动态类型切换

brush 选择组件的控制按钮等。

配置代码:

toolbox: {
    show: true,
    feature: {
      dataZoom: {
        yAxisIndex: "none"
      },
      dataView: {
        readOnly: false
      },
      magicType: {
        type: ["line", "bar"]
      },
      restore: {},
      saveAsImage: {}
    }
  },

配置效果:

但是在开发中我需要通过监听树图的还原事件来进行其他子组件的数据联动,而restore自身没有监听点击事件的属性。因此,可以通过自定义工具按钮,来重写restore。

注意,自定义的工具名字,只能以 my 开头,例如myTool1myTool2。

 toolbox: {
          //工具栏
          show: true,
          iconStyle: {
            borderColor: "#03ceda",
          },
          feature: {
            myTool1: {
              show: true,
              title: "还原",
              icon:
                "path://M512 981.333333c-209.866667 0-396.693333-126.026667-466.293333-314.08a35.52 35.52 0 0 1 23.626666-44.426666 38.613333 38.613333 0 0 1 48 20.693333c58.666667 158.933333 217.013333 265.493333 394.666667 265.6s336-106.666667 394.666667-266.133333a37.6 37.6 0 0 1 28.853333-23.626667 38.986667 38.986667 0 0 1 35.786667 11.946667 34.773333 34.773333 0 0 1 7.146666 35.36c-69.386667 188.373333-256.48 314.666667-466.453333 314.666666z m431.36-574.08a37.92 37.92 0 0 1-35.946667-24.266666C849.386667 222.56 690.613333 114.88 512 114.72S174.72 222.346667 116.746667 382.773333A38.72 38.72 0 0 1 69.333333 403.733333a35.786667 35.786667 0 0 1-24.106666-44.373333C113.333333 169.866667 301.013333 42.666667 512 42.666667s398.666667 127.306667 467.146667 316.96a34.56 34.56 0 0 1-4.906667 32.64 38.933333 38.933333 0 0 1-30.88 14.986666z",
              onclick: () => {
                const chart = echarts.init((this.$refs as any).faultTree);
                // 还原
                chart.clear();
                chart.setOption(option);
                // 传值
                this.$emit("init");
                console.log('click');
              },
            },
          },
        },

通过自定义工具来得到一个点击事件,在onclick箭头函数中重新绘制echarts图实现还原功能,另外还可以通过传值监听工具的点击事件。

关于工具图标的路径:

在iconfont中,选择想要的图标样式,下载svg格式,用文本编辑器打开,将path d=xxx后的拼接在"path://“”后,就得到了我们想要的图标样式。

 

  • 8
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

糖醋麻辣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值