Using usecharts can make it easier to create chart components
- auto resize chart
- Loading effect before rendering
- custom theme
- custom renderer
# pnpm (recommend)
pnpm add echarts @qc2168/use-charts
# yarn
yarn add echarts @qc2168/use-charts
# npm
npm install echarts @qc2168/use-charts
// template
<!-- width height must be provided for element -->
<div ref = "chartEl"
style = "height:200px;width:200px;" > </div>
// script setup
import useChart from "@qc2168/use-charts"
// provide a element
const chartEl = ref<HTMLDivElement | null>(null)
const {
setOption,
showLoading,
} = useChart(chartEl as Ref<HTMLDivElement>)
onMounted(() => {
nextTick(() => {
// turn on chart loading ~
showLoading()
// setOption
setOption({
/* set data ... */
})
})
})
example https://github.com/QC2168/useCharts/tree/main/example
| Name |
Description |
Type |
required |
| elRef |
echart dom |
Ref<HTMLDivElement> |
true |
| Options |
see options below |
OptionsType |
false |
| Name |
Description |
Type |
required |
Default |
| render |
echart render mode |
RenderType.SVGRenderer/RenderType.CanvasRenderer |
false |
RenderType.SVGRenderer |
| autoChartSize |
watch chart size changes |
boolean |
false |
false |
| animation |
Define transition effects |
AnimationType |
false |
{} |
| theme |
echart theme |
ThemeType.Light/ThemeType.Dark/ThemeType.Default |
false |
ThemeType.Default |
| Name |
Description |
Type |
required |
Default |
| enable |
set to false to prevent the transition effects from showing |
boolean |
false |
false |
| styles |
styles object |
Object |
false |
{} |