echarts-for-vue
v1.4.1
Published
ECharts wrapper component for Vue 3, 2 and TypeScript
Downloads
768
Maintainers
Readme
简体中文 | English
ECharts For Vue
📊📈 ECharts wrapper component for Vue 3, 2 and TypeScript
Features
- Support for Vue 3 and 2;
- Support auto resize;
- Conform to the habits of Vue and ECharts users;
- Provide pure function API, no side effects;
- Lightweight encapsulation, easy to use;
Install
npm i -S echarts-for-vue
Usage
- Vue 3
import { createApp, h } from 'vue';
import { plugin } from 'echarts-for-vue';
import * as echarts from 'echarts';
const app = createApp({ /*...*/ });
app.use(plugin, { echarts, h }); // use as a plugin
<template>
<ECharts ref="chart" :option="option" />
</template>
<script>
import { createComponent } from 'echarts-for-vue';
import * as echarts from 'echarts';
import { h } from 'vue';
export default {
components: {
ECharts: createComponent({ echarts, h }), // use as a component
},
data: () => ({
option: { /*...*/ },
}),
methods: {
doSomething() {
this.$refs.chart.inst.getWidth(); // call the method of ECharts instance
},
},
}
</script>
- Vue 2
import Vue from 'vue';
import { plugin } from 'echarts-for-vue';
import * as echarts from 'echarts';
Vue.use(plugin, { echarts }); // use as a plugin
<template>
<ECharts ref="chart" :option="option" />
</template>
<script>
import { createComponent } from 'echarts-for-vue';
import * as echarts from 'echarts';
export default {
components: {
ECharts: createComponent({ echarts }), // use as a component
},
data: () => ({
option: { /*...*/ },
}),
methods: {
doSomething() {
this.$refs.chart.inst.getWidth(); // call the method of ECharts instance
},
},
}
</script>
- More examples
- Online demo
Global API
|Definition|Return|Description|
|-|-|-|
|createComponent
(options: Options): object|Component definition object|Create a component|
|plugin
(app: Vue, options: Options): void||The installation method of plugin|
Options
|Property|Type|Default|Optional|Description|
|-|-|-|-|-|
|echarts|typeof echarts|||The global object of ECharts library|
|h|Function||✔|The method createElement
of Vue (Required for Vue 3)|
|ResizeObserver|typeof ResizeObserver|window.ResizeObserver|✔|When the global ResizeObserver
doesn't exist, the polyfill provides support|
|name|string|"ECharts"|✔|The registered name of the component|
|deepWatchOption|boolean|true|✔|deep watch prop "option"|
Instance Properties
|Name|Type|ReadOnly|Description| |-|-|-|-| |inst|ECharts|✔|ECharts instance|
props
|Name|Type|Default|Reactive|Description|
|-|-|-|-|-|
|initTheme|object | string||✔|The parameter theme
of echarts.init
method, see|
|initOpts|object||✔|The parameter opts
of echarts.init
method, see|
|loading|boolean|false|✔|Shows loading animation|
|loadingType|string|"default"||The parameter type
of ECharts instance method showLoading
, see|
|loadingOpts|EChartsLoadingOption|||The parameter opts
of ECharts instance method showLoading
, see|
|option|EChartOption||✔|The parameter option
of ECharts instance method setOption
, see|
|optionOpts|EChartsOptionConfig|||The parameter opts
of ECharts instance method setOption
, see|
|events|Arguments[]|||An array element is the arguments of ECharts instance method on
, see|
|autoResize|boolean|true|✔|Auto resize|
Beyond the props
above, the remaining properties are passed to the root element of the component, such as style
, class
or onclick
Events
|Name|Description| |-|-| |resize|Trigger when chart is resized|
methods
|Definition|Description|
|-|-|
|setOption
(option: EChartOption, opts?: EChartsOptionConfig): void|Call the method setOption
of ECharts instance, see|
|resize
(): void|Resize chart (Based on the size of root element)|
|addResizeListener
(): void|Add "resize" listener|
|removeResizeListener
(): void|Remove "resize" listener|
Contact
- WeChat: cai_fanwei
- QQ: 854521460
- QQ Group: 663286147
- E-mail: [email protected]