Taro 中 echarts 图表使用

1 下载 echarts4taro3

javascript 复制代码
yarn add echarts4taro3 或
pnpm add echarts4taro3 或
npm i echarts4taro3 --save

2 图表初始化需要先加载echarts模块

javascript 复制代码
import * as echarts from "echarts4taro3/lib/assets/echarts"; // 这里用了内置的,也可以用自定义的 echarts.js
import { EChart ,loadEcharts } from "echarts4taro3";

如果图表较多,建议放在app.ts里先引入

javascript 复制代码
// app.ts

import { createApp } from 'vue'

import './app.less'
import * as echarts from "echarts4taro3/lib/assets/echarts"; // 这里用了内置的,也可以用自定义的 echarts.js
import { EChart ,loadEcharts } from "echarts4taro3";

const App = createApp({
  onShow(options) {
  },
  created() {
    loadEcharts(echarts);
  },
  // 入口组件不需要实现 render 方法,即使实现了也会被 taro 所覆盖
})

export default App

3 页面使用

css 复制代码
index.less

.bar-chart {
  width: 100%;
  height: 100vh;
}
javascript 复制代码
<template>
  <view class="bar-chart">
    <EChart ref="canvas" canvas-id="bar-canvas" />
  </view>
</template>

<script setup>
import Taro from "@tarojs/taro";
import "./index.less";
import { EChart } from "echarts4taro3";
import { onMounted, ref } from "vue";

const canvas = ref(null);

onMounted(() => {
  const echartComponentInstance = canvas.value;
  const option = {
    tooltip: {
      trigger: "axis",
      axisPointer: {
        // 坐标轴指示器,坐标轴触发有效
        type: "shadow" // 默认为直线,可选为:'line' | 'shadow'
      }
    },
    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"
      }
    ]
  };

  Taro.nextTick(() => {
    echartComponentInstance.refresh(option);
  });
});
</script>

4 效果

需要注意的是taro4 生成的项目使用vite发布成小程序有问题,我这边选择的是webpack

微信小程序

h5

相关推荐
清山博客17 分钟前
OpenCV 人脸识别和比对工具
前端·webpack·node.js
要加油哦~20 分钟前
AI | 实践教程 - ScreenCoder | 多agents前端代码生成
前端·javascript·人工智能
程序员Sunday23 分钟前
说点不一样的。GPT-5.3 与 Claude Opus 4.6 同时炸场,前端变天了?
前端·gpt·状态模式
yq19820430115628 分钟前
静思书屋:基于Java Web技术栈构建高性能图书信息平台实践
java·开发语言·前端
aPurpleBerry32 分钟前
monorepo (Monolithic Repository) pnpm rush
前端
青茶36038 分钟前
php怎么实现订单接口状态轮询请求
前端·javascript·php
鹏北海1 小时前
micro-app 微前端项目部署指南
前端·nginx·微服务
发现一只大呆瓜1 小时前
虚拟列表:从定高到动态高度的 Vue 3 & React 满分实现
前端·vue.js·react.js
css趣多多1 小时前
add组件增删改的表单处理
java·服务器·前端
证榜样呀1 小时前
2026 大专计算机专业必考证书推荐什么
大数据·前端