如何解決在ie下,Echarts多次使用setOption更改數據時,數據錯亂問題


一、問題描述

根據用戶的操作,通過Ajax請求,獲取某段時間內的某數據趨勢折線圖數據。用戶切換數據項或更改時間段時,ie中渲染的折線圖包含了上一次獲取的數據,導致數據錯亂,如下圖所示:

 

二、代碼

數據項1setOption代碼:

myChart3.setOption({
    tooltip: {
        trigger: 'axis',
        formatter: _name + ':-'
    },
    xAxis: [{
        data: ["2016-12-15", "2016-12-31", "2017-1-1", "2017-1-15", "2017-1-31", "2017-2-1", "2017-2-15"]
    }],
    series: [{
        name: _name ? _name : '違規總數',
        data: [2, 66, 10, 248, 50, 168, 22]
    }]
});

數據項2setOption代碼:

myChart3.setOption({
    tooltip: {
        trigger: 'axis',
        formatter: _name + ':-'
    },
    xAxis: [{
        data: ["2017-1-15", "2017-1-31", "2017-2-1", "2017-2-15"]
    }],
    series: [{
        name: _name ? _name : '違規總數',
        data: [55, 11, 3, 99]
    }]
});

 

三、解決方案

通過測試,發現ie瀏覽器在首次設置數據項數據時,不會發生數據錯亂。數據錯亂只發生在再次使用setOption設置數據,由此猜測是上次的數據遺留影響了數據的顯示。在API中找到了clear方法,用於清空當前實例,官網中解釋如下:

在setOption之前插入如下代碼:

myChart3.clear();
initChart3Option();

再次測試ie中的數據項2:

四、結束語

使用echarts時出現數據混亂,可以先嘗試使用clear看看效果啦,clear之后記得重新initOption喔,因為clear之后,之前配置的圖表參數也沒啦~\(≧▽≦)/~若是內容有錯誤或遺漏,歡迎大家批評指正~


免責聲明!

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



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