赞
踩
当视图中只有一个echarts时候,使用element-resize-detector监听父级元素大小改变时候,echarts使用自身的resize()方法是可以实现图表大小重绘的,但是当在网页中添加了多个echarts,并且class类名都一样,发现element-resize-detector只能实现第一个echarts的图表重绘,尝试了一天找了各种方法,最后还是this.$el好使,可能不是最好的一个方法,但确实解决了自己的问题,记录一下。
这种方法适合组件中根div作为echarts容器
<template>
<div :class="className" />
</template>
下载工具包
npm install element-resize-detector
引入工具包在组件中使用或者在单独的js中使用
import resizeDetector from 'element-resize-detector'
方法
chartResize() {
let erd = resizeDetector()
erd.listenTo(this.$el, () => {
this.chart.resize()
console.log('chart resize')
})
}
resize.js
import resizeDetector from 'element-resize-detector' export default { mounted() { this.chartResize() }, methods: { chartResize() { let erd = resizeDetector() erd.listenTo(this.$el, () => { this.chart.resize() console.log('chart resize') }) } } }
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。