vue中Echarts的canvas图表设置宽度百分百不显示的问题

2,137 阅读1分钟

给canvas图表设置 宽度(width:100%) 继承父元素的宽度不显示的问题

v-show属性 和 canvas的 width:100% 不能同时存在 。
如果非要同时使用的话,解决方案如下:
解决方案: 
     (1) 在 myChart.setOption() 后面 使用 Echarts中的 myChart.resize() 方法强制重绘。 但会有一个过渡动画的效果。

        代码如下:
         <div id="messageChart1" class="canvans" v-show="值">
         </div>
         
         myChart.setOption(option2)
         myChart.resize() //增加此行代码
  
解决方案:
     (2)使用 v-if 属性替换 v-show, 然后使用三元运算符 v-if = true的时候再执行 Echarts 绘制函数。
     
         代码如下:
         <div id="messageChart1" class="canvans" v-if="值">
         </div>
         
         mounted () {
            值 === true ? 绘制Echarts函数 : fn()
         },

前端菜鸟第一次写,此问题是个人在项目中遇到的问题,如有不对的地方,希望大佬指正!