封装的echarts组件

封装组件

<template>
	<div class="BSchart" :id="chartId" ref="myEchart"></div>
</template>

<script>
	export default{
		props:{
			chartId: {
		      type: String,
		      default: 'my-echart'
		    },
		    datalists:{
				type: Object,
				requried:true 
		    }
		},
		data(){
			return{
				chart: null
			}
		},
		watch: {
	      datalists: {
	        handler: function (val, oldVal) {
	          this.initChart();	          
	        },
	        deep: true
	      }
	    },
		mounted(){
			this.initChart(); // 初始化echarts表格
			let _this=this;
			//  根据窗口大小调整曲线大小
			window.onresize = () => {
		      // 基于准备好的dom,初始化echarts实例
		      _this.chart.resize();
		    };
		},
		methods:{
			initChart() {
			 this.chart = this.$echarts.getInstanceByDom(document.getElementById(this.chartId))
		      // 如果为空 则正常进行渲染 反之 不再进行初始化
		      if (this.chart !== undefined) {
		        this.chart.dispose()
		      }
		      this.chart = this.$echarts.init(document.getElementById(this.chartId))		      
		      // 把配置和数据放这里
		      this.chart.setOption(this.datalists)
		    },
		}
	}
</script>

<style scoped>
	.BSchart{
		width: 100%;
		height: 100%;
	}
</style>

组件引用

<div class="line" ref="BloodPress" :chartId="myEcharts" :style="{width: '800px', height: '300px'}" :datalists="options"></div>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值