vue 对echart 切换时,容器宽度不是100%

1.这是因为切换时dom没有重绘导致的,v-show 有这个问题,v-if 没有此类问题
如果使用v-show 切换echart视图,要每次切换时,手动获取父元素宽度,重新赋值给echart容器
定义:

//定义变量inintWidth ,mounted里面执行  this.inintWidth = document.getElementById('echart容器id').offsetWidth 

draw(){
  //省略了
  echart.setoption()
  //这里
  
    var widthResize = {
                width: this.initWidth,
                height:400,
              };
              overchart2Div.resize(widthResize )
    
    //以上保证切换时echart容器100%撑满 
    //因为你手动设置了容器宽度,导致你的监听失效,所以监听里也要手动设置一次,保证窗口变化时 echart自适应
    var _this = this;
              window.addEventListener("resize",function (){
                var _width = document.getElementById('你的容器id').offsetWidth
                var obj = {
                  width:_width,
                };
                overchart2Div.resize(obj);
                
              });

}
 
如果你用v-if切换,v-if主动重绘,不存在这个问题,但是要注意,切换时要将你的drawEchart()写在 this.$nextclick()里面,避免echart报 of null
posted @   天堂花草  阅读(754)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示