# datajson
**Repository Path**: bylc_1/datajson
## Basic Information
- **Project Name**: datajson
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-03-09
- **Last Updated**: 2026-03-13
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# echarts for taro3

`echarts4taro3` 是一个可运行在 Taro3 框架上的 Echarts 跨端组件,满足开发者使用一套 **vue** 或 **vue3** 代码,就让图表流畅的展示于 **H5** 和**小程序端**。
目前已支持的平台包含:**H5**、**微信小程序**、**支付宝小程序**和**字节跳动小程序**。
支持开发者导入**自定义 echarts 库**。
## 目录
- [快速开始](#快速开始)
- [组件引用](#组件引用)
- [基础用法](#基础用法)
- [进阶用法](#进阶用法)
- [组件实例方法](#组件实例方法)
- [组件效果](#组件效果)
- [注意事项](#注意事项)
- [Demo 下载](#demo-下载)
- [参考资料](#参考资料)
## 快速开始
### 组件引用
#### 方式一:npm 安装引用(强烈推荐)
1、下载依赖
```bash
yarn add echarts4taro3 -S #或 npm install echarts4taro3 -S
```
2、项目引用
```javascript
import { EChart, loadEcharts } from "echarts4taro3";
import * as echarts from "echarts4taro3/lib/assets/echarts"; // 框架内置了一份,也可以用官网自定义的 echarts.js
loadEcharts(echarts); // 初始化加载 echarts 库
```
#### 方式二:拷贝引用(注:需要开发者主动兼容 vue 和 vue3)
1、下载组件:[点击下载](https://github.com/beezen/echarts4taro3/archive/refs/heads/master.zip)
2、拷贝项目 `/lib` 目录下内容到项目中,可命名为 `echarts4taro3`,业务逻辑中这样引用 `import { EChart } from "@components/echarts4taro3/index.js"`。业务项目结构如下:
```bash
## src 目录下
.
├── components
│ └── echarts4taro3 # 图表跨端组件
│ ├── assets
│ ├── common
│ ├── ec-canvas
│ ├── echart
│ └── index.js
└── pages # 使用示例
├── ecchart
└── index
```
### 基础用法
#### vue3 语法,代码示例如下:
首先在全局 `app.js` 中统一加载 echarts 库,如果只有单个页面使用 echarts,则推荐在单个页面中加载。参考如下:
```javascript
// app.js
import * as echarts from "echarts4taro3/lib/assets/echarts"; // 这里用了内置的,也可以用自定义的 echarts.js
import { loadEcharts } from "echarts4taro3";
loadEcharts(echarts); // 加载 echarts 库
```
页面代码如下:
```html
```
#### vue 语法,代码示例如下:
首先在全局 `app.js` 中统一加载 echarts 库,如果只有单个页面使用 echarts,则推荐在单个页面中加载。参考如下:
```javascript
// app.js
import * as echarts from "echarts4taro3/lib/assets/echarts"; // 这里用了内置的,也可以用自定义的 echarts.js
import { loadEcharts } from "echarts4taro3";
loadEcharts(echarts); // 加载 echarts 库
```
页面代码如下:
```html
```
### 进阶用法
#### 通过 `loadEcharts` 方法导入自定义的 echarts 库
```javascript
import * as echarts from "./assets/echarts"; // 根据需求自定义的 echarts 库
import { loadEcharts } from "echarts4taro3";
loadEcharts(echarts); // 给组件导入自定义的 echarts 库
```
#### 通过 `setOption` 方法动态改变 echarts 数据
```javascript
let myChart;
onMounted(() => {
const echartComponentInstance = canvas.value;
Taro.nextTick(() => {
echartComponentInstance.refresh(options).then((myChartInstance) => {
myChart = myChartInstance;
});
});
});
// ...
// 点击设置图表数据
function handleSetOptions(data) {
myChart.setOption(data);
}
```
#### 通过 `getOption` 方法获取当前实例的配置信息
```javascript
let myChart;
onMounted(() => {
const echartComponentInstance = canvas.value;
Taro.nextTick(() => {
echartComponentInstance.refresh(options).then((myChartInstance) => {
myChart = myChartInstance;
});
});
});
// ...
// 点击获取图表数据
function handleGetOptions() {
console.log(myChart.getOption());
}
```
#### 通过 `getChart` 直接获取当前图表实例
```javascript
onMounted(() => {
const echartComponentInstance = canvas.value;
Taro.nextTick(() => {
echartComponentInstance.refresh(options);
});
});
// ...
// 点击获取图表 echarts 实例
function handleGetEcharts() {
const echartComponentInstance = canvas.value;
const myChart = echartComponentInstance.getChart();
console.log(myChart);
// 后续可进行相关 echarts 操作
// myChart.setOption(data);
// myChart.resize(data);
}
```
## 组件实例方法
> 引入 EChart 组件后,拿到 EChart 组件实例,并调用实例 refresh(options)方法设置图表数据。具体可参考官方 [options 配置项](https://echarts.apache.org/zh/option.html)和[Demo 示例](https://echarts.apache.org/examples/zh/index.html)。
### 示例
```vue3
```
### 方法
| 方法 | 参数 | 描述 |
| --------- | ------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| refresh | ([options](https://echarts.apache.org/zh/option.html) ,[callback] ) | 创建一个 echarts 实例,返回 echartsInstance |
| setOption | ([options](https://echarts.apache.org/zh/option.html) ) | 设置图表实例的配置项以及数据,所有参数和数据的修改都可以通过 setOption 完成,echarts 会合并新的参数和数据,然后刷新图表。 |
| resize | (resizeOptions) | 改变图表尺寸,在容器大小发生改变时需要手动调用。 |
| getChart | 无 | 获取图表 echarts 实例,来完成更多自定义效果 |
【参数解释】
1. `options`: echarts 配置项,可参考官网[options 配置项](https://echarts.apache.org/zh/option.html)
2. `resizeOptions`: 尺寸属性,有下面几个属性:
- `width` 可显式指定实例宽度,单位为像素。
- `height` 可显式指定实例高度,单位为像素。
## 组件效果
## 注意事项
对于网页加载速度或者微信小程序包体积大小有要求的,可以做如下调整:
1、因为 echarts 图表库本身体积相对较大,所以开发者可以根据业务需要在 echarts [官网定制](https://echarts.apache.org/zh/builder.html) `echarts.js`,然后通过 `loadEcharts` 方法动态导入库。
2、在微信小程序中对于应用体积有严格的限制要求,开发者可以通过[分包](https://developers.weixin.qq.com/miniprogram/dev/framework/subpackages/basic.html)技术对应用进行拆分。
3、组件初始化 `refresh` 方法需要在页面组件节点挂载完成后才能调用。
## Demo 下载
方式一:直接下载 echarts4taro3:[Download ZIP](https://github.com/beezen/echarts4taro3/archive/refs/heads/master.zip)
方式二:Use Git or checkout with SVN using the web URL.
```bash
git clone https://github.com/beezen/echarts4taro3.git
```
在 `examples/` 目录下存在相关功能实现示例:
- [vue2 demo](https://github.com/beezen/echarts4taro3/tree/master/examples/demo-vue2)
- [vue3 demo](https://github.com/beezen/echarts4taro3/tree/master/examples/demo-vue3)
快速运行
```bash
# 在对应的 demo 根目录下执行
$ yarn # 安装依赖
$ yarn dev:weapp # 运行微信小程序
$ yarn dev:h5 # 运行 H5
```
## 参考资料
- [在微信小程序中使用 Apache ECharts](https://github.com/ecomfe/echarts-for-weixin)
- [echarts-taro3-vue](https://taro-ext.jd.com/plugin/view/5f68a040f71392c040202fd7)
- [echarts 官网](https://echarts.apache.org/zh/index.html)