当前位置: 首页 > article >正文

uniapp引入echarts报错解决,并解决图例事件和tooltip失效问题

最近新搭建的uniapp项目需要引入echarts图表,没想到坑这么多,在此做一个记录。

我的uniapp是使用vite搭建的项目,所以我npm install echarts下载后,按照pc端那样import * as echarts from 'echarts'引入报错。

问题一:导入报错

1、下载zrender

pnpm install zrender

下载zrender后又报错

2、下载tslib

pnpm install tslib

在vite.config.js中添加 

resolve: {
    alias: {
        'zrender': 'zrender',
    }
}
import {defineConfig} from 'vite'
import uni from '@dcloudio/vite-plugin-uni'
import AutoImport from 'unplugin-auto-import/vite'
// https://vitejs.dev/config/
export default defineConfig({
    plugins: [
        uni(),
        AutoImport({
            imports: ['vue', 'uni-app'],
            dts: true
        })
    ],
    server: {
        https: false,
        host: '0.0.0.0',
        port: 5174,
        open: true
    },
    resolve: {
        alias: {
            'zrender': 'zrender',
        }
    }
})

就可以发现页面通过import * as echarts from 'echarts'导入不报错了。

问题二:图例点击事件失效和tooltip失效

这里我查了一下有人说可以直接在main.js中添加window.wx={}就可以解决,在浏览器调试的时候试了一下,确实可以;但是这个其实是有大问题的,打包app后在手机端无法打开app,应用报错,查了一下,因为H5是基于浏览器的,有window和document方法,而uni中非web端则运行在v8引擎中,没有window和document方法,所以会有问题,问题解决看问题三。

问题三:app使用echarts的页面显示空白,echarts没加载。

原因我用的是document.getElementById()去获取id的dom进行加载echarts,调试的时候在浏览器肯定是没问题的,打包到app后就有问题。

在uni市场上找到了一个插件:https://ext.dcloud.net.cn/plugin?id=4899

这个是社区作者封装的一个渲染echarts的组件,支持全平台,使用方法也非常简单,具体的使用方法可以看文档进行使用;这个组件也解决了图例点击事件失效和tooltip失效问题,推荐。

效果如下


http://www.kler.cn/a/415676.html

相关文章:

  • docker服务容器化
  • 跨平台应用开发框架(3)-----Qt(样式篇)
  • Spring Boot 同时接受文件和实体及 Postman 测试实战
  • Centos Linux 服务器 批量替换文件内容sed
  • elasticsearch单节点模式部署
  • 以达梦为数据库底座时部署的微服务页面报乱码,调整兼容模式
  • docker compose 快速搭建 Elasticsearch 单节点测试环境
  • 恒创科技:服务器操作系统和客户端操作系统之间的区别
  • 【趣味升级版】斗破苍穹修炼文字游戏HTML,CSS,JS
  • 腾讯云 AI 代码助手:单元测试应用实践
  • springboot中使用mongodb完成评论功能
  • JVM知识点学习-2
  • 深度学习编译器
  • 0,1背包最大价值问题、最少步数归零问题
  • 神经网络入门实战:(六)PyTorch 中的实用工具 SummaryWriter 和 TensorBoard 的说明
  • 【YOLOv10改进[Backbone]】使用MobileNetV2替换Backbone
  • redis常见面试题(2024)
  • MemVerge与美光科技利用CXL®内存提升NVIDIA GPU利用率
  • 十二、正则表达式、元字符、替换修饰符、手势和对话框插件、字符串截取
  • 面向多用户场景的恢复机制驱动的无线组密钥生成协议
  • LLM: softMax function and temperature
  • 可编程网络在分布式深度学习通信瓶颈控制中的应用与未来展望
  • Android RIL面试题及参考答案
  • 【系统架构设计师】真题论文: 论数据访问层设计技术及其应用(包括解题思路和素材)
  • Ubantu系统非root用户安装docker教程
  • c++ 程序来计算三角形的面积(Program to find area of a triangle)