技术债与遗留问题 (Technical Debt & Legacy Issues)

本文件用于记录 NextUI 开发过程中为了快速交付或绕过环境限制而引入的硬编码、临时方案及待优化项。

编译警告屏蔽记录

注意:根据 .cursorrules 中的"编译警告处理规范",只有在以下情况下才允许屏蔽警告:

  • 第三方库或框架的已知问题,无法通过修改代码解决
  • 架构设计需要,且已获得用户明确批准
  • 临时性技术债务,且已在文档中说明解决计划和时间表

每个屏蔽的警告必须记录以下信息:

  • 警告的完整信息(警告代码和消息)
  • 屏蔽的位置(文件路径和行号)
  • 屏蔽的原因(为什么必须屏蔽)
  • 计划解决的时间或版本(如适用)
  • 批准人(如适用)

警告屏蔽记录模板

### [警告代码] 警告消息 (YYYY-MM-DD)
- **警告信息**:`[警告代码]` - [完整警告消息]
- **屏蔽位置**:`[文件路径]:[行号]`
- **屏蔽原因**:[详细说明为什么必须屏蔽,不能通过修改代码解决]
- **屏蔽方式**:`#pragma warning disable [警告代码]` / `[SuppressMessage(...)]`
- **计划解决**:[解决计划或版本,如"v1.2.0"或"待第三方库更新"]
- **批准人**:[批准人,如适用]
- **相关链接**:[相关 Issue 或文档链接,如适用]

其他技术债

Workbench 演示系统

1. ComponentPlayground 标题栏高度对齐 (2026-01-11)

  • 问题:左侧预览栏(Blazor/HTML)与右侧属性栏(属性/配置/状态)的标题头高度无法通过纯逻辑布局(Flex/Padding)在所有情况下保持像素级对齐。
  • 临时方案:在 ComponentPlayground.razor 中硬编码了 height: 3.5rem !important
  • 优化方向:应定义统一的 PlaygroundHeader 容器组件,或通过 DesignTokens 中的标尺变量进行逻辑对齐。

核心组件库

1. SxNavBar 布局的双重刷新 (2026-01-11)

  • 问题:浏览器在 DOM 更新后(如修改长标题文本)计算 scrollWidth 存在异步延迟,导致 JS 立即测量时拿到的数据不准确,产生文字图标重叠。
  • 现状:采用了 Dual-Pass 刷新机制,即立即测量一次,150ms 后再次补测。
  • 优化方向:探索是否能通过 requestIdleCallback 或更精细的排版监听来消除这 150ms 的硬等待感。

2. SxNavBar 的 CSS 强制覆盖 (2026-01-11)

  • 问题:为了保证几何对冲居中不受内部元素干扰,使用了较多的 !important 锁死 Grid 列宽。
  • 优化方向:重构 CSS 优先级,减少对 !important 的依赖。