uniapp app端 echarts 设置tooltip的formatter不生效问题以及解决办法

这篇具有很好参考价值的文章主要介绍了uniapp app端 echarts 设置tooltip的formatter不生效问题以及解决办法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

需求一: y轴数据处理不同数据增加不同单位
需求二: 自定义图表悬浮显示的内容

需求一:实现方式 在yAxis里面添加formatter
uniapp app端 echarts 设置tooltip的formatter不生效问题以及解决办法,uni-app,echarts,javascript

 yAxis: [{
 //y轴显示value的设置
	  axisLabel: {
      show: true,
	  formatter (value, index) => {
		    var value
		     if (value >= 1000 && value < 10000) {
		         value = value / 1000 + 'k'
		     } else if (value >= 10000) {
		         value = value / 10000 + 'w'
		     } else if (value < 1000) {
		         value = value
		     },
	   	},
      return value
	    color: 'rgba(0,0,0,0.3)',
	    fontSize: '12'
	 },
 }]

问题: formatter 设置未生效 h5可以正常展示能看到单位,但是app端不生效
app端不生效是因为:

在app端,回调函数无法从renderjs外传递,上面的设置使用了回调函数,所以app端不生效。

但是需求功能要使用回调函数才能实现。

查看Echarts组件的代码,发现里面有这样一段代码:
uniapp app端 echarts 设置tooltip的formatter不生效问题以及解决办法,uni-app,echarts,javascript
所以,只需要在函数update(option) {}里面自定义设置相关回调函数即可。

下面是我最终的实现代码
uniapp app端 echarts 设置tooltip的formatter不生效问题以及解决办法,uni-app,echarts,javascript
然后跟update同级添加以下方法(此方法为上方update里面调用)
uniapp app端 echarts 设置tooltip的formatter不生效问题以及解决办法,uni-app,echarts,javascript
在回到调用echarts页面 重新更改下方法

 yAxis: [{
 //y轴显示value的设置
	  axisLabel: {
      show: true,
	formatterFunction: `(value, index) => {
   		var value
        if (value >= 1000 && value < 10000) {
             value = value / 1000 + 'k'
         } else if (value >= 10000) {
             value = value / 10000 + 'w'
         } else if (value < 1000) {
             value = value
         }
         return value
      }`,
      return value
	    color: 'rgba(0,0,0,0.3)',
	    fontSize: '12'
	 },
 }]

这时app端已经可以成功显示了
那需求二就是在此基础上实现可以渲染html代码就可以了

需求二:实现方式 在yAxis里面添加formatter
uniapp app端 echarts 设置tooltip的formatter不生效问题以及解决办法,uni-app,echarts,javascript

对tooltip进行formatter相关的设置文章来源地址https://www.toymoban.com/news/detail-628266.html

 tooltip: {
	 trigger: 'axis', // axis显示该列下所有坐标轴对应数据,item只显示该点数据
	   formatterFunction: `(params)=>{
	      console.log(params)	//可以先输出看下都有什么内容  
	      // str里面的代码只是部分代码 只演示怎么在这里面写html实现想要的内容样式
	      let str = '<span>'+ params[1].name +'</span></br><span>' +'合计:'+ '</span> <span> '+params[1].value+'</span>'
	      return str; 
	   }`,
	   axisPointer: {
	       type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
	   }
},

到了这里,关于uniapp app端 echarts 设置tooltip的formatter不生效问题以及解决办法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • ECharts中: legend图例中的格式化属性(formatter)以及嵌套图表

    ECharts中: legend图例中的格式化属性(formatter)以及嵌套图表

    Documentation - Apache ECharts 字符串模板的相识变量使用(不同的图表对应都有对应的变量): Documentation - Apache ECharts 具体详细使用可以点^^^链接查看: 你只需要创建一个 div id =\\\"xjzbChart\\\"/div 然后 获取 xjzbChart = echarts.init(document.getElementById(\\\'xjzbChart\\\')); 在 series数组里面创建两个图表对象

    2024年02月13日
    浏览(17)
  • uniapp手机APP webview使用echarts显示问题(腾讯X5内核)

    uniapp手机APP webview使用echarts显示问题(腾讯X5内核)

    一、问题描述 webview页面中引用了一些基于echarts封装的js文件,用于在手机上展示仪表盘 在iQOO8 pro上显示并无问题,而在vivo x21A上显示有问题,如下图所示 vivo x21A iQOO8 pro 二、解决过程 先说结论,出现这个问题是因为echarts和手机浏览器内核不兼容,webview组件默认使用的是手

    2024年02月09日
    浏览(8)
  • 关于uniapp打包成app echart数据不显示的 renderjs问题

    renderjs是一个运行在视图层的js。它比WXS更加强大。它只支持app-vue和h5。 renderjs的主要作用有2个: 1、大幅降低逻辑层和视图层的通讯损耗,提供高性能视图交互能力 2、在视图层操作dom,运行for web的js库 就是vue本身不支持直接通过原生JS操作DOM,于是在uniapp里,可以通过ren

    2024年02月15日
    浏览(8)
  • uniapp app 实现右上角回首页;点homeButton返回上一页;onNavigationBarButtonTap不生效问题

    uniapp app 实现右上角回首页;点homeButton返回上一页;onNavigationBarButtonTap不生效问题

    场景: app,Android移动端 实现点击右上角图标,回首页。 问题:用了官网的 homeButton,图标正常展示了,也可点击,但每次点击后是会返回上一页而非首页。 后来查到说,要结合onNavigationBarButtonTap生命周期函数使用,但毫无反应。 解决方法: 放弃这种方法,选择官网提供的

    2024年02月12日
    浏览(8)
  • echarts雷达图图例自定义以及tooltip动态展示一维数据

    echarts雷达图图例自定义以及tooltip动态展示一维数据

     实现效果: 虽然上面实现了图例自定义,但是仔细看会发现图例与文字不在一条水平线上,利用富文本配置,对height进行调整,实现图例图片与文字对齐。 实现效果: 官方文档中默认显示该维度的所有数据 而遇到的需求是显示鼠标悬浮该轴的数据对比 实现:   虽然实现

    2024年02月16日
    浏览(36)
  • Vue3 中 echarts 不显示 tooltip 的问题

    Vue3 中 echarts 不显示 tooltip 的问题

    近期在项目中需要用到图表类型的数据展示,就想到了用 echarts,项目用的是 Vue3 ,到官网看文档,一顿捣鼓之后在页面上能正常显示图表,本想着一样按套路去展示更多的图表,不出意外的话指定要出意外,这个时候发现图表的提示框 tooltip 没显示!!经过一番查证,发现

    2024年02月14日
    浏览(10)
  • uniapp云打包成app后,在Android12手机上横屏样式未填满手机界面;在ios手机上横屏不生效;问题解决

    uniapp云打包成app后,在Android12手机上横屏样式未填满手机界面;在ios手机上横屏不生效;问题解决

    问题1:横屏在本地调试时是好的,云打包后在Android12上横屏样式宽度就只生效了一半。 解决:在onLoad中,定时500ms后再进行横屏操作(200ms不生效) 问题2:云打包后在ios中横屏不生效。 解决:在manifest.json文件中的app-plus下、app-plus中的distribute下都添加横竖屏设置代码,之前

    2024年02月12日
    浏览(11)
  • uniapp 开发微信小程序使用echart的dataZoom属性缩放功能不生效!bug记录!

    uniapp 开发微信小程序使用echart的dataZoom属性缩放功能不生效!bug记录!

    在本项目中使用的是这个echart库 在项目中添加了dataZoom配置项但是不生效,突然想到微信小程序代码大小的限制,之前的echarts.js是定制的,有可能没有加dataZoom组件。故重新定制echarts.js。之前用的echarts版本是5.0.0,这次也是定制同样的版本,但是报错,按照之前的经验判断,

    2024年02月11日
    浏览(41)
  • uniapp 之 uniapp app 与uniapp H5的通信 webview,以及处理H5页面的手机物理返回问题

    uniapp 之 uniapp app 与uniapp H5的通信 webview,以及处理H5页面的手机物理返回问题

    APP端: 引用 web-view     app给H5传参:通过h5地址传参 这个方法简单,就是直接通过src 地址后面通过 ? 拼接参数 app端 h5端通过uniapp生命周期函数 onLoad 接收参数     app给H5传参:通过方法 evalJS 传参 H5给app传参:通过 web-view 组件的 @message 绑定的方法 处理H5页面的手机物理返

    2024年01月16日
    浏览(16)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包