提交 | 用户 | 时间
|
9715e8
|
1 |
// 混入代码 resize-mixins.js |
懒 |
2 |
// 改成 Scale 缩放之后,没有使用这个代码,但是保留 |
|
3 |
import { debounce } from '@/utils'; |
|
4 |
const resizeChartMethod = '$__resizeChartMethod'; |
|
5 |
|
|
6 |
export default { |
|
7 |
data() { |
|
8 |
// 在组件内部将图表 init 的引用映射到 chart 属性上 |
|
9 |
return { |
|
10 |
chart: null, |
|
11 |
}; |
|
12 |
}, |
|
13 |
created() { |
|
14 |
window.addEventListener('resize', this[resizeChartMethod], false); |
|
15 |
}, |
|
16 |
activated() { |
|
17 |
// 防止 keep-alive 之后图表变形 |
|
18 |
if (this.chart) { |
|
19 |
this.chart.resize() |
|
20 |
} |
|
21 |
}, |
|
22 |
beforeDestroy() { |
|
23 |
window.removeEventListener('reisze', this[resizeChartMethod]); |
|
24 |
}, |
|
25 |
methods: { |
|
26 |
// 防抖函数来控制 resize 的频率 |
|
27 |
[resizeChartMethod]: debounce(function() { |
|
28 |
if (this.chart) { |
|
29 |
this.chart.resize(); |
|
30 |
} |
|
31 |
}, 300), |
|
32 |
}, |
|
33 |
}; |