vue3 echarts数据动态刷新后,dataZoom 组件重置初始化问题解决(手把手C/V解决)

5 篇文章 1 订阅
4 篇文章 0 订阅

每天工作不是在解决问题就是在解决问题的路上,今天继上次开发遇到使用vue3-echarts时数据刷新的问题后,在这个基础上又遇到新的问题

vue3 echarts数据动态刷新后,dataZoom 组件重置初始化问题解决

PS:假如代码中对其他代码感兴趣以及其他地方看不懂的直接看这篇文章

【Vue3 > 一文解决echarts难点:Vue3下echarts基本配置||echarts响应式数据改变的两种方式||echarts页面自适应解决】

问题

echarts数据动态刷新后,dataZoom 组件会重置初始化,对于频繁刷新数据的组件会给用户很不好的体验感,刚调好范围查看一下,结果刷新数据后就被恢复初始,用户体验感很差。所以必须进行优化!
初始状态:
在这里插入图片描述
用户调整后:
在这里插入图片描述数据动态刷新后:
在这里插入图片描述

解决思路

获取到dataZoom最新的位置,然后保存起来,最后把的start和end赋值给要更新的option就可以了

直入主题(可以直接C/V操作)3个(C/V)

1.我们先把dataZoom的配置从Option配置里面抽出来作为变量保存
ps:避免大家看着很麻烦,我已经很精简易懂代码了
【被(C/V)注释包裹的代码就是你直接取的代码,直接C/V操作!!!!!!!!真的手把手了】
例如:(C/V)-1、(C/V)-2、(C/V)-3

//(C/V)-1
const data= reactive({
	//作为初始和保存用户操作后的范围
  start: 0,
  end: 100,
  //dataZoom的配置,这里我只取了关键点,每个项目配置不一样
  dataZoom: [
    {
      //设定初始范围
      start: 0,
      end: 100,
    },
  ],
})
//(C/V)-1
const method = reactive({
	//自己定义的方法便于整洁
	initChart() {
		let chart = myEchartsschool.init(
			document.getElementById('myEchartsschool')
		)
		chart.setOption(
			//Option其他配置信息就不展示了
			//(C/V)-2
			dataZoom: data.dataZoom
			//(C/V)-2})

2.然后正式开始解决问题,请直接CV到我们的

const method = reactive({
	//自己定义的方法便于整洁
	initChart() {
		let chart = myEchartsschool.init(
			document.getElementById('myEchartsschool')
		)
		//chart为自己引入echars时的命名,根据自己情况改动,其他的直接全部复制粘贴
		//(C/V)-3
		chart.on('dataZoom', function (event) {
       if (event.batch) {
         data.start = event.batch[0].start
         data.end = event.batch[0].end
       } else {
         data.start = event.start
         data.end = event.end
       }
     })
     data.dataZoom[0].start = data.start
     data.dataZoom[0].end = data.end
		//(C/V)-3
		chart.setOption(
			//Option其他配置信息就不展示了
			
		//(C/V)-2
			dataZoom: data.dataZoom
		//(C/V)-2
		)
})

PS:假如代码中对其他代码感兴趣以及其他地方看不懂的直接看这篇文章

【Vue3 > 一文解决echarts难点:Vue3下echarts基本配置||echarts响应式数据改变的两种方式||echarts页面自适应解决】

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zmsup

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值