您现在的位置是:网站首页> 编程资料编程资料
vue3+Echarts页面加载不渲染显示空白页面的解决_vue.js_
2023-05-24
321人已围观
简介 vue3+Echarts页面加载不渲染显示空白页面的解决_vue.js_
vue3 Echarts页面加载不渲染显示空白页面
在父组件获取到数据后传递给子组件并没有及时的更新渲染图表。
在本地开发环境是没有一点问题,但发布到测试环境上每次页面加载都不渲染,点击浏览器刷新按钮后才会去渲染图表。
个人认为造成这个问题的原因
页面加载子组件dom元素此时还没有加载完成,所以看到的就是空白,只有刷新一下才可以。
解决这个问题的方法
在生命周期里面使用 nextTick()待dom加载完成之后再去渲染图表```
具体实现代码:
父组件:
获取到数据后通过props 传递给子组件
```javascript// 获取入驻统计 async getSettledData() { const result = await getProjectSettled(); // 如果后台返回的数据是空 前端就渲染一个空表出来 必须等获取到数据以后在渲染 Echarts if (result.success) { if (result.data.companyCount.length === 0 && result.data.stationCount.length === 0) { Object.assign(data.settledData); } else { Object.assign(data.settledData, result.data); } update.value = new Date().getTime(); } },
子组件:
接收父组件传递的数据并进行 watch 监听,在生命周期onMounted里面使用 nextTick进行渲染图表就行了。
入驻统计
vue Echarts白屏或等一会才出现
原因
由于是异步加载数据,setOption的时候div的宽高还是0,导致canvas渲染宽高也是0。
解决方法
加上默认的width和height
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
您可能感兴趣的文章:
相关内容
- JavaScript数据结构之链表各种操作详解_javascript技巧_
- react 组件实现无缝轮播示例详解_React_
- vuex学习进阶篇之getters的使用教程_vue.js_
- vue3使用echart的两种引入方式以及注意事项说明_vue.js_
- vuex新手进阶篇之actions的使用方法_vue.js_
- babel插件去除console示例详解_javascript技巧_
- vuex新手进阶篇之改变state mutations的使用_vue.js_
- vue3+ts+echarts实现按需引入和类型界定方式_vue.js_
- Vue收集依赖与触发依赖源码刨析_vue.js_
- Vue使用正则校验文本框为正整数_vue.js_
