我想知道如何在执行之前访问某些工具箱事件。例如,每次我按下saveAsimage按钮时,我都需要修改导出的映像名称(例如,通过串联时间戳和基本名称“ mychart_20181114T103413”),但是在出现OS窗口保存之前,我无法捕获该事件。
具体来说,我需要这个窗口
javascript - 如何在执行之前像saveAsImage一样捕获Echarts工具箱事件-LMLPHP,但在我的应用程序中仅显示此窗口javascript - 如何在执行之前像saveAsImage一样捕获Echarts工具箱事件-LMLPHP。仍然保持一致,是否有一种方法可以通过使用函数来修改文件名并为其添加时间戳。以下是我的saveAsImage工具箱选项。

saveAsImage :{show: true, title: 'save as image', name: 'myImageName', type:'png'}

最佳答案

实际上,ECharts在选项toolbox.feature.saveAsImage.name中支持输出图像的自定义标题

 toolbox: {
        feature: {
            saveAsImage: {
                name: 'mychart_' + Date.parse(new Date())/1000
            }
        }
  }


检查这个演示:



let echartsObj = echarts.init(document.querySelector('#canvas'));

let seriesData = [1, 1, 2, 3, 4, 6, 8];

    option = {
        xAxis: {
            type: 'category',
            data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
        },
        yAxis: {
            type: 'value'
        },
        series: [{
            data: [820, 932, 901, 934, 1290, 1330, 1320],
            type: 'line'
        }],
        toolbox: {
            feature: {
                saveAsImage: {
                    name: 'mychart_' + Date.parse(new Date())/1000
                }
            }
        }
    };


    echartsObj.setOption(option)

<html>
      <header>
        <script src="https://cdn.bootcss.com/echarts/4.1.0.rc2/echarts-en.min.js"></script>
      </header>
      <body>
        <div id="canvas" style="width: 100%; height: 400px">
        </div>
      </body>
    </html>

10-05 20:42