美酒没故事° 2020-07-17 16:04 采纳率: 37.3%
浏览 669
已采纳

vue中echarts柱状图怎么让其中的柱可以拖动?

如图:


vue中echarts柱状图怎么让其中的柱可以拖动?

  • 写回答

2条回答 默认 最新

  • 美酒没故事° 2021-09-26 16:56
    关注

    img

    // 电量调整试算器 - 鼠标事件:拖动
        mouseEvents() {
          let histogram = this.$refs.histogram;
          const that = this;
    
          this.testChart.on("mousedown", function (params) {
            console.log("按下:", params);
            that.moveValue.oldPrice = params.seriesName;
            /* histogram.style.backgroundColor = params.color;
            histogram.style.width = params.event.target.shape.width + "px";
            histogram.style.height = Math.abs(params.event.target.shape.height) + "px"; */
            histogram.style.display = "block";
            histogram.style.top = params.event.offsetY + "px";
            histogram.style.left = params.event.offsetX + "px";
            that.testDialogTitle.start = params.seriesName.slice(0, 1);
            that.testDialogTitle.startBg = params.color;
            that.startMoveIndex = params.seriesIndex + 1;
            if (that.testType === "electric") {
              that.moveValue.electricMax = params.data[params.seriesIndex + 1];
            } else {
              that.moveValue.loadMax = params.data[params.seriesIndex + 1];
              that.moveValue.timeMax = 12; // 赋假数据
            }
          });
          this.testChart.on("mousemove", function (params) {
            // console.log("移动:", params);
            histogram.style.top = params.event.offsetY + "px";
            histogram.style.left = params.event.offsetX + "px";
          });
          this.testChart.on("mouseup", function (params) {
            console.log("松开:", params);
            that.moveValue.nowPrice = params.seriesName;
            that.testDialogTitle.end = params.seriesName.slice(0, 1);
            that.testDialogTitle.endBg = params.color;
            if (that.testDialogTitle.start === params.seriesName.slice(0, 1)) {
              // that.$message.warning("调节错误!");
            } else {
              that.endMoveIndex = params.seriesIndex + 1;
              that.dialogVisible = true;
              that.moveValue.electric = 0;
              that.moveValue.load = 0;
              that.moveValue.time = 0;
            }
            histogram.style.display = "none";
            // let pattern = /[1-9][0-9]*([.][0-9]+)/g;
            that.moveValue.oldPrice = parseFloat(
              that.moveValue.oldPrice.replace(/[^\d.]/g, "")
            );
            that.moveValue.nowPrice = parseFloat(
              that.moveValue.nowPrice.replace(/[^\d.]/g, "")
            );
            console.log(that.moveValue.oldPrice, that.moveValue.nowPrice);
          });
        },
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已采纳回答 9月26日

悬赏问题

  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同