echart图表渲染不出?-灵析社区

明道

echarts图表渲染不出来,查看元素canvas标签都没有。 需求:在表格内点击生成echart图 解决:表格数据渲染,其中一列判断为csv属性后,实现在单元格内点击文字,触发dialog弹窗,弹窗中显示echart图表。 ### 模板: 图表 #### data: ` dialogTableVisible: false` #### methods: openEchart() { console.log(2222); this.dialogTableVisible = true; this.$nextTick(() => { this.initChart(); }); }, initChart() { const echart1 = this.$echarts.init(document.getElementById("echart1")); echart1.setOption({ title: { text: "ECharts 入门示例", }, tooltip: {}, xAxis: { data: ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"], }, yAxis: {}, series: [ { name: "销量", type: "bar", data: [5, 20, 36, 10, 10, 20], }, ], }); }, 渲染出来了(可能一开始就渲染出来没注意到),但是弹窗上不显示,而是后面阴影部分显示出来.... ![image.png](https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241012/fa291a18c506ab9f8ad8a79ef70d6cb1.png) 改变渲染时机放到获取数据源方法中去初始化echart容器,控制台报错:Initialize failed: invalid dom。 * * * 已经解决了:弹窗标签不应该放到表格内,放到表格外等待触发才是正确的。但原理是什么没研究明白。

阅读量:192

点赞量:0

问AI
试试把v-if和v-else换成v-show吧,因为你如果用v-if,条件不成立时,dom还没有生成,你这个时候初始化的时候是拿不到那个容器的