echarts--自定义tooltip数据undefined问题以及调用params.data遇到的问题

问题:

在自定义tooltip设置数据时,通过params.xxx获取数据 出现undefined问题

//图表的数据
pieChartData.map(item =>{
      let obj = {
         value:item.data,
         name:item.url,
         rate:Math.round(item.data/totalData * 10000)/100+'%',
      }
      pieData.push(obj)
})

//通过params.value可以得到浏览量,通过params.rate确实undefined
formatter: function(params) {
      var res = ''
      res += '<div>'+params.name+' </div>'
      res += '<div>'+'浏览量'+':'+params.value +'</div>'
      res += '<div>'+'占比'+':'+params.rate+'%'+'</div>'
      return res;
}

原因:

错误的将params当作是传入的图表数据 , 通过console.log 发params是图表自身整合的参数

 传入的参数放在了params.data里 且图表会自动计算出百分比params.percent

更改后:

formatter: function(params) {
      var res = ''
      res += '<div>'+params.name+' </div>'
      res += '<div>'+'浏览量'+':'+params.value +'</div>'
      res += '<div>'+'占比'+':'+params.percent+'%'+'</div>'
      return res;
}

在地图项目需要调用params.data中数据的时候,有的省份没有数据 , 如果不进行判断直接调用会出现错误

        formatter: function(params) {
          var value = params.data?params.data.value:'--'
          var rate = params.data?params.data.rate:'--'
          var res = ''
          res += '<div>'+params.name+' </div>'
          res += '<div>'+'浏览量'+':'+ value + '</div>'
          res += '<div>'+'占比'+':'+ rate + '</div>'
          return res;
        }

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值