echarts内无法添加html组件

项目场景:

项目中打算在echarts获取的地图底图上添加新的echarts图表。


问题描述:

在这里插入图片描述
照着上图这样写的话,等网页渲染完成后,在控制台内无法找到id为startInfo的div。


原因分析:

可能是echarts对象初始化时,会把所用到的组件下的所有子组件删除,所以才导致找不到嵌套的部分。

this.chart = echarts.init(document.getElementById("map"));

解决方案:

在echarts对象渲染完成后,找到组件内的类名或者id名,然后使用js语句创建dom并塞到其中,即可实现echarts的地图对象内嵌套echarts。

this.$nextTick(() => {
        //创建dom
        let div_startInfo = document.createElement('div')
        div_startInfo.id = "startInfo"
        div_startInfo.style.height = "300px"
        div_startInfo.style.width = "300px"
        div_startInfo.style.position = "absolute"
        div_startInfo.style.top = "5% "
        div_startInfo.style.left = "5% "
        div_startInfo.style.zIndex = "999"
        //将创建的dom添加到已有的组件中
        document.getElementsByClassName('mapboxgl-map')[0].appendChild(div_startInfo)
        this.lineChart = echarts.init(document.getElementById('startInfo'))
        this.lineChart.setOption(this.lineOptions)
      });

最后的结果如图所示:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值