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

相关推荐
活宝小娜34 分钟前
vue不刷新浏览器更新页面的方法
前端·javascript·vue.js
程序视点36 分钟前
【Vue3新工具】Pinia.js:提升开发效率,更轻量、更高效的状态管理方案!
前端·javascript·vue.js·typescript·vue·ecmascript
coldriversnow37 分钟前
在Vue中,vue document.onkeydown 无效
前端·javascript·vue.js
我开心就好o38 分钟前
uniapp点左上角返回键, 重复来回跳转的问题 解决方案
前端·javascript·uni-app
开心工作室_kaic2 小时前
ssm161基于web的资源共享平台的共享与开发+jsp(论文+源码)_kaic
java·开发语言·前端
刚刚好ā2 小时前
js作用域超全介绍--全局作用域、局部作用、块级作用域
前端·javascript·vue.js·vue
沉默璇年3 小时前
react中useMemo的使用场景
前端·react.js·前端框架
yqcoder3 小时前
reactflow 中 useNodesState 模块作用
开发语言·前端·javascript
2401_882727573 小时前
BY组态-低代码web可视化组件
前端·后端·物联网·低代码·数学建模·前端框架
SoaringHeart3 小时前
Flutter进阶:基于 MLKit 的 OCR 文字识别
前端·flutter