echarts图表的封装文件骨架

<template>
    <div class='com-container'>
        <div class='com-chart' ref='rank_ref'></div>
    </div>
</template>

<script>
export default {
    data() {
        return {
            chartInstance: null, // 图表实例对象
            allData: null // 后端返回得数据
        }
    },
    mounted() {
        // 初始化固定得echarts配置
        this.initChart()
        // 获取数据
        this.getData()
        // 实时检测自适应
        window.addEventListener('resize', this.screenAdapter)
        // 初始化自适应
        this.screenAdapter()
    },
    destroyed() {
        // 组件销毁之后,取消监听配置
        window.removeEventListener('resize', this.screenAdapter)
    },
    methods: {
        // 初始化固定得echarts数据
        initChart() {
            // init 
            this.chartInstance = this.$echarts.init(this.$refs.rank_ref)
            // 配置项
            const initOption = {}
            // 加入实例
            this.chartInstance.setOption(initOption)
        },
        // 数据请求
        async getData() {
            // 这里继续数据请求得发送

            // 然后更新一下图表
            this.updateChart()
        },
        // 更新图表
        updateChart() {
            // 这里可以对获取得数据进行一些结构的处理

            // 处理后的数据配置
            const dataOption = {}
            // 加入实例
            this.chartInstance.setOption(dataOption)
        },
        // 自适应
        screenAdapter() {
            // 关于一些自适应的配置
            const titleFontSize = this.$refs.seller_ref.offsetWidth / 100 * 3.6
            // 数据自适应的配置
            const adapterOption = {}
            // 加入实例
            this.chartInstance.setOption(adapterOption)
            // 调用方法开启自适应
            this.chartInstance.resize()
        }

    }

}
</script>

<style lang='less' scoped>
.com-container {
  width: 100%;
  height: 100%;
  .com-chart {
    width: 100%;
    height: 100%;
  }
}
</style>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值