2020.9.11echarts-tooltip内显示echarts(禁止套娃)

2023.7.21 更新:取消VIP文章阅读权限,回馈开源社区。

前言

需求中需要在 echarts 地图中鼠标移动到地图块上方时显示悬浮窗并且内部还嵌套了一些 echarts 图表,冥思苦想一天无果,在翻阅前辈代码时偶然发现 tooltip 的提示框 formatter 中嵌套的 function 代码块功能之强大,激发灵感,通过 formatter 内嵌的方法块完成了需求。

实施

需求截图

echarts地图内嵌入echarts

思路

利用 formatter 中 function 返回的 html 代码块赋予 div 一个 id 属性,在执行 function 时使用 setInterval 重复执行查看是否已经生成了符合情况的 div 容器,如果有容器,则生成 echarts 图表。

注意:为了节省篇幅,没有摘取所有option配置。以及文章做了脱敏处理,可能会影响观看体验,请谅解。

代码实现

//option内
tooltip: {
   
    extraCssText: 'box-shadow: 3px 3px 3px #888888;', // 边框下阴影
    confine: true, // 防止tooltip越界
    formatter: function(params, ticket, callback) {
   
        if (params.data == undefined) {
    // 无数据时显示的内容
            let res = "<div>" +
                "<p style='padding-left:10px;padding-right:20px;font-size:0.07rem;height:0.25rem;line-height:0.25rem;background:#4CA6A6;color:white;'>暂无数据</p>" +
                "</div>";
            return res;
        } else {
   
            let lasttooltipName = ''; //创建一个变量用来保存上一次的地图名称,用于后续去抖动
            if (params.data.currentTab == 1 && params.data.isCountryMap) {
   
                let yAxisData = [];
                let xAxisData1 = [];
                let xAxisData2 = [];
                
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值