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