chartMixin.js 734 Bytes
export default {
  props: {
    data: {
      type: Array,
      default: () => [],
    },
  },
  data() {
    return {
      chart: null,
      height: 270,
      width: 0,
      chartGeom: null,
    };
  },
  watch: {
    data() {
      this.refreshData();
    },
  },
  mounted() {
    const innerWidth = window.innerWidth;
    const innerHeight = window.innerHeight;
    if (innerWidth < 1600) {
      this.height = (innerHeight - 270) / 2;
    }
    this.width = this.$el.clientWidth;
    this.initData();
  },
  methods: {
    initData() {},
    updateData() {},
    refreshData() {
      if (this.chart) {
        this.chart.changeData(this.data);
        this.chart.render();
        this.updateData();
      }
    },
  },
};