fix-logs-order
main
打开「系统日志」页定位在最早的日志,应该定位到最新。
数据是最新在最上面(后端倒序返回),但此前没有任何初始定位逻辑——容器滚动默认停在顶部,而自动刷新(默认开启)每 10s 的贴底逻辑(scrollTop=scrollHeight,按正序假设写的)反而把页面钉在最早的日志上。
scrollTop = 0
tsc --noEmit 0 错误。纯前端滚动定位,后端 API 不变。
注:第一版方案(时间正序+贴底)与用户预期不符,77ecb07 已替换为倒序+顶部定位。
渲染顺序(最新在前)与滚动逻辑假设(正序+贴底=最新)相互矛盾: 自动刷新(默认开启)每 10s 强制贴底,而底部恰好是最早的日志, 用户打开页面被钉在最旧的一条上。 改为渲染时间正序(旧→新),与贴底滚动/上滚暂停跟随的 tail -f 行为一致:打开页面即定位最新。
按用户预期调整方案:列表保持最新在最上面(后端倒序),打开页面/ 自动刷新时 scrollTop=0 定位顶部;向下滚动回看历史时暂停定位, 拉回顶部即恢复。替代上一版的时间正序+贴底方案。
No dependencies set.
The note is not visible to the blocked user.
问题
打开「系统日志」页定位在最早的日志,应该定位到最新。
根因
数据是最新在最上面(后端倒序返回),但此前没有任何初始定位逻辑——容器滚动默认停在顶部,而自动刷新(默认开启)每 10s 的贴底逻辑(scrollTop=scrollHeight,按正序假设写的)反而把页面钉在最早的日志上。
修复(按用户确认的预期:保持倒序)
scrollTop = 0定位到顶部 = 最新验证
tsc --noEmit 0 错误。纯前端滚动定位,后端 API 不变。