echarts圖例換行時icon對齊方式


今天的開發中,遇到問題如下:

下圖是UI需要的效果圖

一開始在lengend中配置如下(主要是formatter中的內容)
legend: [
          {
            orient: "vertical",
            right: "1%", //所處位置
            top: "0%",
            textStyle: {
              color: "#fff",
              fontSize: 14,
              lineHeight: 18
            },
            icon: "circle",
            itemGap: 10,
            itemWidth: 10,
            itemHeight: 14,
            formatter: params => {
              for (let a = 0; a < this.data.length; a++) {
                // this.data  這個數據中有名稱和次數
                if (this.data[a].name === params) {
                  //兩個名稱進行對比,取出對應的次數
                  return params + "\n" + this.data[a].value; //然后return你需要的legend格式即可
                }
              }
            }
          }
        ],

效果如下:

發現icon並沒有和首行文字對齊
於是借鑒百度經驗上一位老哥的回答,修改lengend中formatter配置

formatter: params => {
              for (let a = 0; a < this.data.length; a++) {
                // this.data  這個數據中有名稱和次數
                if (this.data[a].name === params) {
                  //兩個名稱進行對比,取出對應的次數
                  let params1 = params + "\n" + this.data[a].value; //然后return你需要的legend格式即可
                  console.log(params1);
                  let tmp = params1.split("\n");
                  let res = "" + params1;
                  for (let i in tmp) {
                    res = res.replace(tmp[i], "");
                  }
                  return res + params1;
                }
              }
            }

效果如下圖所示,完美解決


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM