From 9cc5e1c2f2a2209465c1ffcc160fd8420fa9f2bc Mon Sep 17 00:00:00 2001
From: ZhangXianQiang <1135831638@qq.com>
Date: 星期三, 06 三月 2024 16:11:01 +0800
Subject: [PATCH] fix:修复宽度变化导致echart不更新

---
 src/views/home/data-chart/index.vue |   23 ++++++++++++++++-------
 1 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/src/views/home/data-chart/index.vue b/src/views/home/data-chart/index.vue
index 8055cf9..2421e0a 100644
--- a/src/views/home/data-chart/index.vue
+++ b/src/views/home/data-chart/index.vue
@@ -27,6 +27,7 @@
 <script>
 import * as echarts from 'echarts';
 let lineChart = null;
+let observer = null;
 export default {
   name: 'DataChart',
   data() {
@@ -52,7 +53,7 @@
         },
         {
           name: 'XX杩愮淮鍏徃3',
-          state: { '1鏈�': 1000, '2鏈�': 2131, '3鏈�': 1233, '4鏈�': 2132, '5鏈�': 3211,'6鏈�': 1321 },
+          state: { '1鏈�': 1000, '2鏈�': 2131, '3鏈�': 1233, '4鏈�': 2132, '5鏈�': 3211, '6鏈�': 1321 },
           state2: { '1鏈�': 123, '2鏈�': 213, '3鏈�': 123, '4鏈�': 23, '5鏈�': 123 }
         },
         {
@@ -136,14 +137,19 @@
       }
     },
 
-    // 杩囨护
-    filterData() {
-
+    // 鐩戝惉鍙樺寲
+    observe() {
+      if (!observer) {
+        observer = new ResizeObserver(entries => {
+          this.handleResize();
+        })
+      }
+      observer.observe(this.$refs.chartContent);
     },
     // 绐楀彛鍙樻崲
     handleResize() {
       if (lineChart) {
-        lineChart.resize()
+        lineChart.resize();
       }
     }
 
@@ -153,10 +159,13 @@
     this.company = this.acitveData.name;
     lineChart = echarts.init(this.$refs.chartContent);
     this.initChart();
-    window.addEventListener('resize', this.handleResize)
+    this.observe();
   },
   beforeDestroy() {
-    window.removeEventListener('resize', this.handleResize)
+    if (lineChart) {
+      lineChart.dispose();
+      observer.unobserve(this.$refs.chartContent);
+    }
   },
 }
 </script>

--
Gitblit v1.8.0