今天的開發中,遇到問題如下:
下圖是UI需要的效果圖
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;
}
}
}
效果如下圖所示,完美解決