From d6fb6076423a6d97da240804b0b43f30781b5fc2 Mon Sep 17 00:00:00 2001
From: dengzedong <dengzedong@email>
Date: 星期三, 11 六月 2025 17:32:46 +0800
Subject: [PATCH] 建议快照 dom虚拟渲染导致chartDoms不更新的bug

---
 src/views/model/sche/suggest/suggestSnapshot.vue |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/views/model/sche/suggest/suggestSnapshot.vue b/src/views/model/sche/suggest/suggestSnapshot.vue
index fd8272f..801a654 100644
--- a/src/views/model/sche/suggest/suggestSnapshot.vue
+++ b/src/views/model/sche/suggest/suggestSnapshot.vue
@@ -16,10 +16,10 @@
     </el-checkbox-group>
 
     <div
-      v-for="(chart, index) in charts"
+      v-for="chart in charts"
       :key="chart.id"
       class="chart-container"
-      :ref="el => chartDoms[index] = el"
+      :ref="el => chartDoms[chart.id] = el"
       v-loading="loading"
     ></div>
   </el-dialog>
@@ -34,8 +34,8 @@
   const visible = ref(false)
   const dataList = ref([])
   const selectedData = ref([])
-  const charts = ref([])
-  const chartDoms = ref([])
+  const charts = ref()
+  const chartDoms = ref({})
   const chartInstances = ref([])
   const loading = ref(false)
 
@@ -106,10 +106,10 @@
 
   /** 渲染图表 */
   const renderCharts = () => {
-    chartInstances.value = chartDoms.value.map((dom, index) => {
+    chartInstances.value = charts.value.map((chartInfo, index) => {
+      const dom = chartDoms.value[chartInfo.id]
       if (!dom) return null
       const chart = echarts.init(dom)
-      const chartInfo = charts.value[index]
 
       if (!chartInfo) return chart
 

--
Gitblit v1.9.3