From 286c0bd069428108d94295688b7cd68ad37f9e70 Mon Sep 17 00:00:00 2001 From: claude_dev Date: Fri, 31 Jul 2026 13:21:16 +0800 Subject: [PATCH] =?UTF-8?q?fix(portfolio-backtest):=20=E5=87=80=E5=80=BC?= =?UTF-8?q?=E6=9B=B2=E7=BA=BFwatch=E5=8A=A0flush:'post'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit watch(equityCurve) 默认 flush:'pre' 在 DOM 更新前触发, equityEl div(在 v-if=result 内)尚未挂载→echarts.init 拿不到 DOM→空图。 flush:'post' 让 watch 在 DOM 更新后触发,曲线正常渲染。 --- frontend/src/views/backtest/PortfolioBacktest.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/views/backtest/PortfolioBacktest.vue b/frontend/src/views/backtest/PortfolioBacktest.vue index 2ec20cf..49c7abe 100644 --- a/frontend/src/views/backtest/PortfolioBacktest.vue +++ b/frontend/src/views/backtest/PortfolioBacktest.vue @@ -65,7 +65,7 @@ function renderEquity(): void { onMounted(() => { // 等 dom 挂载后渲染(若有初始数据) }) -watch(equityCurve, renderEquity, { deep: true }) +watch(equityCurve, renderEquity, { deep: true, flush: 'post' }) function fmtPct(v: number | null | undefined): string { if (v === null || v === undefined || !Number.isFinite(v)) return '-'