自定义echarts组件

1.安装echarts

npm install echarts

2.引入echarts

import * as echarts from 'echarts'

3.自定义echarts组件

<template>

    <div ref="chartRef" class="chart" ></div>

</template>

<script lang="ts" setup>

import * as echarts from 'echarts'

import { ref, onMounted, nextTick, onUnmounted, watch } from 'vue'

const chartRef = ref<any>(null)

let myChart:any = null

const props = defineProps({

    name: String,

    option: {

        type: Object,

        default: () => {

            return {}

        }

    }

})

//methods

const initEchart = () => {

    nextTick(() => {

        if (!myChart) {

            myChart = echarts.init(chartRef.value)

        }

    })

    nextTick(() => {

        myChart.setOption(props.option)

    })

}

watch(

    () => props.option,

    () => {

        initEchart()

    },

    {

        deep: true

    }

)

onMounted(() => {

    initEchart()

})

onUnmounted(() => {

    myChart && myChart.dispose()

})

</script>

<style lang="scss" scoped>

.chart {

    width: 100%;

    height: 100%;

}

</style>

欢迎补充,一起进步。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值