uni-app 高性能可视化图表组件 ui-echarts - echartsTooltip自定义函数 l***@qq.com

发布于 1周前 作者 wuwangju 来自 Uni-App

uni-app 高性能可视化图表组件 ui-echarts - echartsTooltip自定义函数 l***@qq.com

为什么自定义tooltip使用formatter返回一个html标签不识别并且显示的是字符串

image

3 回复

很简单的原因啊,除了h5环境,哪个环境支持动态创建dom


追问一下大佬,就是在APP环境中不支持这种写法,只能使用rich写法吗?

针对您提到的 uni-app 中使用 ui-echarts 组件实现高性能可视化图表,并需要自定义 echartsTooltip 函数的需求,以下是一个具体的代码案例,展示了如何在 uni-app 中集成 ui-echarts 并自定义 tooltip

首先,确保您已经在项目中安装了 ui-echarts 组件。可以通过 npm 或 yarn 安装:

npm install @dcloudio/uni-ui

或者在 pages.json 中引用组件库(假设您使用的是 HBuilderX):

"easycom": {
    "autoscan": true,
    "custom": {
        "^u-(.*)": "@dcloudio/uni-ui/lib/uni-$1/uni-$1.vue"
    }
}

接下来,在您的页面文件中使用 ui-echarts 并配置自定义 tooltip。以下是一个完整的示例:

pages/index/index.vue

<template>
  <view>
    <ui-echarts :ec="ec" id="mychart-dom-bar" canvas-id="mychart-bar"></ui-echarts>
  </view>
</template>

<script>
export default {
  data() {
    return {
      ec: {
        option: {
          tooltip: {
            trigger: 'axis',
            formatter: function (params) {
              let tooltipStr = '';
              params.forEach(item => {
                tooltipStr += `${item.seriesName}: ${item.value}<br/>`;
              });
              return tooltipStr;
            }
          },
          xAxis: {
            type: 'category',
            data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
          },
          yAxis: {
            type: 'value'
          },
          series: [{
            data: [120, 200, 150, 80, 70, 110, 130],
            type: 'bar'
          }]
        }
      }
    };
  }
};
</script>

<style>
/* 样式根据需要调整 */
</style>

在上述代码中,我们使用了 ui-echarts 组件,并通过 ec 属性传递了 ECharts 的配置对象。其中,tooltipformatter 函数被自定义,用于格式化提示框的内容。这个函数接收一个参数 params,它是一个数组,包含了当前触发提示框的所有数据项的信息。我们通过遍历 params 来构建自定义的提示框字符串。

确保您的页面已经正确引入了 ui-echarts 组件,并且在页面的 style 中根据需要调整图表的大小和样式。

这样,您就可以在 uni-app 中使用 ui-echarts 实现高性能的可视化图表,并自定义 tooltip 的显示内容了。

回到顶部