uni问题:如何在ucharts提示窗中自定义内容

 

素材编辑 | 宋大狮

排版运营 | 小唐狮

ONE 问题描述

今天要和大家分享的是关于uni的问题,如何在ucharts提示窗中自定义内容,包括更改内容、内容换行、更改竖杠颜色。

需求:在ucharts图表中,点击图表某一坐标,会以提示框的形式显示此坐标点的信息,并且自定义提示框中内容的格式。

问题:自定义提示框中内容的格式时,提示窗配置 opts.extra.tooltip中,并没有直接的配置项来更改内容和内容格式。

TWO 解决过程

尝试一:

思路:因为没有直接的配置项,所以考虑是否存在相关的组件props。

实现:遇到问题,优先想到通过官方文档解决。于是继续查找官方文档,在文档-基本配置-组件props中,存在tooltipFormat属性,可以用来自定义格式化Tooltip显示内容。有了思路起点之后,继续去网上搜索tooltipFormat属性详细用法,了解到在目录uni_modules\qiun-data-charts\js_sdk\config-ucharts.js配置文件中,修改cfu对象-formatter对象-pieDemo函数的返回值,即可自定义内容。

结果:成功自定义提示框中的内容,但无法内容换行、更改竖杠颜色。

尝试二:

思路:既然在配置文件中成功自定义提示框中的内容,则内容换行、更改竖杠颜色也可以在某一配置文件中被修改。

实现:在网上搜索一番后,发现在目录uni_modules\qiun-data-charts\js_sdk\u-charts.js配置文件中,修改drawToolTip函数即可实现内容换行、更改竖杠颜色。通过把内容字符串分割成数组,再将单一数组对象替换成两个数组对象,并在每个对象中单独设置内容和竖杠颜色。

结果:成功实现内容换行、更改竖杠颜色。

THREE 知识总结

总结一:问题复盘

uni中使用ucharts,在自定义提示框中内容的格式时,提示窗配置 opts.extra.tooltip中,并没有直接的配置项来更改内容和内容格式。需要使用组件tooltipFormat属性,并在config-ucharts.js配置文件中,配置pieDemo函数的返回值,可实现自定义内容。然后,在u-charts.js配置文件中,修改drawToolTip函数,可实现内容换行、更改竖杠颜色。

总结二:提示框自定义内容

示例:

<qiun-data-charts class="charts" type="line" :opts="opts" 
     :chartData="chartData" :loadingType='0' tooltipFormat="pieDemo" />

"formatter": {
        "pieDemo": function(val, index, series, opts) {

            let time = index
            let interest = twoDecimal(val.data)

            return `${time}  ${interest}`

        },

总结三:提示框内容换行、更改竖杠颜色

示例:

// 建议全部打印查看
  console.log(textList,'textList');
  // 将提示框的自定义字符串内容 分割 成数组,分割符根据实际情况自定义
  console.log(textList[0].text.split("  "),"split")

    // 将单一数组对象 替换成 两个数组对象,实现自定义字内容换行效果 
    let newTextList=[
        {
            "color":"#1890FF",
            "text":textList[0].text.split("  ")[0]
        },
        {
            "color":"#EE6666",
            "text":textList[0].text.split("  ")[1]
        },
    ]
    textList=newTextList

FOUR 集思广益

欢迎大家对本问题留言或私信指教,一起学习提高!

- END -

ABOUT 关于作者

  • 宋大狮 | 轻轻松松工作,简简单单生活

  • 小唐狮 | 广场舞大军中最靓的仔

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员大澈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值