需求是:一開始只有三組數據,然後隨着下拉框動態選擇指標,最多選擇兩個。然後動態加載到圖表中;
用的是基於echarts的v-charts;此時的需求就是要動態設置比如 legend,title或者是tooltips等等;
難道加一個ref 去操作dom嗎? 仔細查看 v-charts 文檔發現一個方法:
既然每次生成圖例都可以用這個方法,並且參數還是echarts實例,那麼可以大膽的用setoptions的方法了;
具體怎麼用,直接上碼:
// v-charts
<ve-line :after-set-option="afterSetOption"
></ve-line>
// 這裏是方法
methods: {
afterSetOption (chartObj) {
var self = this;
chartObj.setOption({
// set echarts options
legend: {
data: self.chartData.columns,
formatter (params) {
// some code here
}
},
tooltip: {
formatter (params,ticket, callback) {
let result = '';
params.forEach(function (item) {
// some code here
});
return result;
}
},
grid: {
},
color: ['#1677d9','#2fc25b','#929694','#40bfdd','#c2b12f'] // set colors
})
}
}
這樣每次請求數據,改變charts就每次設置一下。