Files
GarminHealthLab/client
ericwyuan d2d6143ed6 fix(ui): 切换日期后数字不更新,卡片显示的是前一天的数据
useCountUp 只靠 requestAnimationFrame 推进,没有兜底。帧不来的时候
(后台标签页、被节流的 webview)setDisplay 一次都不会调用,组件继续
渲染上一个值——往前翻一天,标题的日期变了,但每一个数字还停在前一天。
不是动画没播,是把另一天的数据当成这一天理直气壮地显示出来。

实测(造的数据):08-24 → 08-23 → 08-22 三天,三张卡片全都显示 8,826,
而真实值是 8,826 / 10,232 / 10,715。

- 动画结束时间点加一个 setTimeout 兜底,保证最终值一定落地
- document.hidden 时直接跳过动画
- from 引用在收敛时同步更新,避免动画被打断后从错误的起点继续

动画是装饰,数字不是。

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-08-24 09:33:22 +08:00
..