vue echarts中宽高自适应 And tab切换影响图表的宽度

一 echarts中宽高自适应

最近在做关于图表的项目(移动端),避免不了手机屏幕的宽高不一致 而eharts 中宽高在div style 上设置(最开始使用的是固定ipone6/7/8) 固定设置的宽高 为 342 和200 但是当我切换别的(譬如ipone6/7/8 plus)的时 要比6/7/8 宽 这是就可看出来并不是自适应的
这是 需要修改 div上的宽要改成10%

 <div id="mouseRate" style="width: 100%;height:200px;"></div>

其次在
mounted添加

 window.onresize = () => {
 				//单个和多个可以如此添加 注:如果是tab的话则这样添加无效 main、mainOn、maintWe 则是tab切换元素 
				// this.$echarts.init(document.getElementById('main')).resize();
				// this.$echarts.init(document.getElementById('mainyOn')).resize();
				// this.$echarts.init(document.getElementById('maintWe')).resize();
				this.$echarts.init(document.getElementById('mouseRate')).resize();
				this.$echarts.init(document.getElementById('dataSubmitted')).resize();
			}

二、tab切换影响图表的宽度

上代码则是无效的
在这里插入图片描述切换
能看到当页面刷新默认是 ytd 则是ok 的 但是一旦切换就宽度就变了

 这时 我们就要在tab切换的方法里添加 (查看结构 意思一样实现了就好)
<div class="groupData">
				<div class="groupOption">
					<span :class="{active : activeName == 'first'}" @click="switchTab('first')">今日</span>
					<span :class="{active : activeName == 'second'}" @click="switchTab('second')">本月</span>
					<span :class="{active : activeName == 'third'}" @click="switchTab('third')">YTD</span>
				</div>
			</div>
			<div id="main" style="width: 100%;height:170px;" v-show="activeName === 'first'"></div>

			<div id="mainyOn" style="width: 100%;height:170px;" v-show="activeName === 'second'"></div>

			<div id="maintWe" style="width: 100%;height:170px;" v-show="activeName === 'third'" ></div>
if (tab === 'first') {
					this.$nextTick(() => {
						this.$echarts.init(document.getElementById('main')).resize();
						
					})
				}else if(tab === 'second'){
					this.$nextTick(() => {
						this.$echarts.init(document.getElementById('mainyOn')).resize();
					})
				}else if(tab === 'third'){
					this.$nextTick(() => {
						this.$echarts.init(document.getElementById('maintWe')).resize();
					})
				}

这种方法比较笨但是是我感觉好实现的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值