• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

echarts 绘制报表 vue 通用组件模板

武飞扬头像
upward_tomato
帮助1

echarts 绘制报表 vue 通用组件模板

Start

  • 最近频繁遇到制作echart的报表图需求,这里列举一个常用的组件模板,方便快速初始化页面

具体代码

<template>
  <div class="create-category">
    <div :id="elementId" class="main"></div>
  </div>
</template>

<script>
import * as echarts from 'echarts'

export default {
  name: 'CreateCategory',
  props: {
    // 类型
    type: {
      type: String,
      default: ''
    },
    // 类型
    elementId: {
      type: String,
      default: ''
    },
    // 配置
    options: {
      type: Object,
      default() {
        return {}
      }
    }
  },
  data() {
    return {
      myChart: null
    }
  },
  mounted() {},
  methods: {
    // 初始化数据
    initData(data) {
      this.options.series[0].data = data || []

      // 每次初始化之前,手动重置一下相关表单的逻辑
      this.myChart && this.myChart.dispose()

      // 2.在DOM加载完毕后 我们再操作DOM-拿到我们的main
      var myChart = echarts.init(document.getElementById(`${this.elementId}`))

      // 3.传入参数即可
      myChart.setOption(this.options)

      // echart点击事件
      myChart.on('click', (param) => {
        this.$emit('clickCallBack', this.options, param)
      })

      this.myChart = myChart
      window.addEventListener('resize', this.$_vm_resize)

      this.$on('hook:destroyed', () => {
        window.removeEventListener('resize', this.$_vm_resize)
      })
    },
    $_vm_resize() {
      this.myChart.resize()
    }
  }
}
</script>

<style lang="scss" scoped>
.create-category {
  .main {
    width: 100%;
    height: 600px;
  }
}
</style>


学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhibeafb
系列文章
更多 icon
同类精品
更多 icon
继续加载