vue中动态加入ECharts图表时,ECharts宽度自适应/不能100%撑开

简介: vue中动态加入ECharts图表时,ECharts宽度自适应/不能100%撑开

首先上图吧, 关于vue动态加入echarts时,宽度不能100%的问题,首先上图
这里写图片描述

如图,echarts中的canvas的width才500,显然不对呀,右边还有那么大的一片空白,需要说明下交互步骤

这里写图片描述

看看代码,
按钮触发click方法 显示弹窗或者动态加载组件

   <span class="btn" @click="showecharts">showeCharts</span>
methods: {
    showecharts(){
        this.$prompt('Test', resolve => require(['@/components/ShowEChart.vue'], resolve))
    }
}

prompt 中的内容肯定是动态的

ShowEChart.vue

 <div>
     <EChart :chartData="chartData"/>
 </div>
export default {
    components: {
        //EChart.vue图表内容
        EChart: resolve => require(['@/components/EChart.vue'], resolve),
    },
}

这里应该echart能显示如上图了,但是宽度没打开,
换成 imp 也是一样的

import EChart from '@/components/EChart.vue';

思其原因还是prompt还没渲染完整紧着echart也加载,echart的宽度根据具父元素的宽度适应的渲染,给父元素一个确定宽度也可以撑开,也不是好办法,或者setTimeout也行

最好的还是利用vue的mounted 可以解决组件加载完成后

ShowEChart.vue 修改为

<div>
    <component :is="EChart"></component>
</div>
exprot defautl {
    data() {
        return {
            EChart: null
        }
    },
    mounted() {
        this.$nextTick(() => { this.EChart= resolve => require(['@/components/EChart.vue''],resolve)}
        );
    }
}

来看下效果
这里写图片描述

**

从此王子和公主完美的生活在一起

**
这里写图片描述

相关文章
|
1月前
|
JavaScript
vue基于vw实现移动端自适应
vue基于vw实现移动端自适应
19 0
|
2月前
|
JavaScript 算法 前端开发
vue + echarts实现国省市三级下钻联动
vue + echarts实现国省市三级下钻联动
59 0
|
3月前
|
JavaScript 前端开发
VUE组件:如何在Vue中实现组件的动态引入?
VUE组件:如何在Vue中实现组件的动态引入?
146 0
|
3月前
|
缓存 JavaScript
VUE组件:Vue中的动态组件是什么?
VUE组件:Vue中的动态组件是什么?
49 4
|
4月前
|
JavaScript 前端开发 数据安全/隐私保护
Vue如何实现权限管理(动态路由addRoutes)
Vue如何实现权限管理(动态路由addRoutes)
71 1
|
12天前
|
JavaScript
Vue引入Echarts图表的使用
Vue引入Echarts图表的使用
|
1月前
|
Web App开发 前端开发 JavaScript
Spring Boot整合 mybatisplus(后端) Vue+echarts+Element UI+axios(前端)---前后端项目实例demo
Spring Boot整合 mybatisplus(后端) Vue+echarts+Element UI+axios(前端)---前后端项目实例demo
23 1
|
3月前
|
JavaScript 数据可视化 前端开发
Vue整合HighCharts和ECharts实现数据可视化
Vue整合HighCharts和ECharts实现数据可视化
24 0
|
3月前
|
JSON JavaScript 定位技术
Vue中使用echarts@4.x中国地图及AMap相关API的使用
Vue中使用echarts@4.x中国地图及AMap相关API的使用
145 0
Vue中使用echarts@4.x中国地图及AMap相关API的使用
|
4月前
|
JavaScript
Vue中如何实现动态改变字体大小
Vue中如何实现动态改变字体大小