首页IT科技echart清空数据(echarts3如何清空上一次加载的series数据)

echart清空数据(echarts3如何清空上一次加载的series数据)

时间2025-05-02 04:57:58分类IT科技浏览3881
导读:今天做图表的时候发现了一个问题,想和大家分享一下...

今天做图表的时候发现了一个问题            ,想和大家分享一下

我有一个下拉选框                 ,每次选中都切换不同的数据     ,数据是从后台查询获取的      ,但是如果后台返回了数据每次渲染都没有问题                 ,如果后台没有返回数据           ,但是我在渲染图表的时候

series虽然是[] 数组      ,但是任然会保留上次查询所得结果                 ,我找了好多资料           ,有的说notMerge,这个是echarts 2.0的方法                 ,用了还是不好使                ,有的说myChart.setOption(option,true)我也加上这个属性了,但是还是不行            ,真的 很崩溃呀!!!

1            、表格1 是正常查询

2                 、图二是后台返回数据是null

但是图表还有渲染了上一次的数据

最后看了文档我恍然大悟

echartsInstance.clear*

清空当前实例                ,会移除实例中所有的组件和图表            。清空后调用getOption方法返回一个{}空对象                 。

我的代码写的不好     ,但是这样是可以解决问题了            ,对付参考下啦                 ,先清空后     ,清空后      ,图表样式可能会被覆盖成原始状态                 ,在重新定义一下样式就可以了

getEcharts() { let _bar = this.$refs.bar, this.http.post(xx/xx/xx, { id: JSON.stringify(this.selectParkIds[0]), fixedDate: JSON.stringify(this.today) }).then(data => { _bar.clear() if (data) return if (data.resultData) { _bar.mergeOptions(getBarOption(inParkDataList) } }) },
const getBarOption = (data) => { let xAxisAry = [], //x轴数据 legend = [], inParkExitsFist = [], inParkExitsList = [], dataAllAry = [], alignCenter = for (let obj of data) { xAxisAry.push(obj.hour) inParkExitsList.push(obj.inParkExits) } inParkExitsFirst = data[0].inParkExits for (let obj of inParkExitsFist) { legend.push(obj.parkExitName) } legend.length > 10 ? alignCenter = 12% : alignCenter = 30% for (let lenObj of legend) { let dataAry = [], dataObj = {} for (let ary of inParkExitsList) { ary.forEach(function(element) { if (element.parkExitName == lenObj) { dataAry.push(element.inParkCount) } }); } dataObj.name = lenObj dataObj.data = dataAry dataObj.type = "bar" dataAllAry.push(dataObj) } return { tooltip: { trigger: axis, axisPointer: { // 坐标轴指示器           ,坐标轴触发有效 type: shadow // 默认为直线      ,可选为:line | shadow } }, title: { //text: obj.title }, xAxis: { data: xAxisAry }, yAxis: { axisLabel: { show: true }, name: "单位(辆)" }, legend: { data: legend, left: alignCenter, y: "bottom", itemGap: 30, align: auto, }, grid: { bottom: 30% }, series: dataAllAry, color: [ #3b4ca9, #1689ce, #1fc659, #f98b24, #e2346e, #d52f30, #5d6dbe, #1a9ce2, #25e47b, #fda639, #f44c86, #eb393a, #5f77b1, #34b6f3, #6cf090, #fdad2a, #f06997, #ec5454, #7a88c9, #59c7ef, #6feeaf, #feb657, #f290b1, #e27375, #9fa9d8, #84d5f8, #bbf5cb, #fecc86, #f6bbd0, #ed9a9b ], } }

以上为个人经验                 ,希望能给大家一个参考           ,也希望大家多多支持本站     。

声明:本站所有文章,如无特殊说明或标注                 ,均为本站原创发布      。任何个人或组织                ,在未征得本站同意时,禁止复制     、盗用      、采集                 、发布本站内容到任何网站           、书籍等各类媒体平台                 。如若本站内容侵犯了原著者的合法权益            ,可联系我们进行处理           。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
autoupdater(autoupdate.exe是什么进程 autoupdate进程信息查询) 超链接标签中包含哪几种状态?其含义都是什么(超级标签之一键解除网页复制限制、网页自由编辑、显示星号密码功能代码)