重寫 optionToContent: function(opt) {...}
在使用Echarts 組件時,在數據視圖顯示的時候會發現表格數據沒有行列對齊顯示,如下。
可見,與預期的表格形式有很大的出路,通過查找發現在官方的文檔有如下的說明:
從而,只需要按照自己的格式重寫 optionToContent: function(opt) {...} ,其中opt就是視圖option對象,只需從中取出相應的值填入表格即可
opt對象:
重寫的代碼如下(bootstrap 表格樣式):
1 dataView : { 2 show : true, 3 readOnly : true, 4 optionToContent : function(opt) { 5 //console.info(opt); 6 var axisData = opt.xAxis[0].data; 7 var series = opt.series; 8 var tdHeaders = '<td>時間</td>'; //表頭 9 series.forEach(function(item) { 10 tdHeaders += '<td>' + item.name + '</td>'; //組裝表頭 11 }); 12 var table = '<div class="table-responsive"><table class="table table-bordered table-striped table-hover" style="text-align:center"><tbody><tr>' + tdHeaders + '</tr>'; 13 var tdBodys = ''; //數據 14 for (let i = 0, l = axisData.length; i < l; i++) { 15 for (let j = 0; j < series.length; j++) { 16 tdBodys += '<td>' + series[j].data[i] + '</td>'; //組裝表數據 17 } 18 table += '<tr><td style="padding: 0 10px">' + axisData[i] + '</td>' + tdBodys + '</tr>'; 19 tdBodys = ''; 20 } 21 22 table += '</tbody></table></div>'; 23 return table; 24 } 25 },
重寫后的數據表格視圖: