Description 症状复现 仪表盘进入设计模式后,左侧主区无法选中任何 widget,无蓝色高亮(ring), 右侧 DesignDrawer 只显示 widget 卡片列表,无法弹出任何 widget 属性面板;卡片点击也无效。 适配 iPad、暗色模式表现更差,属性面板即使渲染实际不可见。 截图参考 技术调查:代码链路全分析 所有 widget 缺少 id 字段 :生产数据下 DashboardWidgetSchema.id 为 optional,未做 fallback,导致所有点击选中逻辑短路。DashboardEditor 内部 useUndoRedo 只初始化一次 schema,不跟随外部 schema 变化 ,���际内部 currentSchema 可能为旧数据。WidgetPropertyPanel/WidgetCard 硬编码浅色样式 (如 bg-white border-gray-200 text-gray-800),夜间模式完全不可用。sheet.tsx 的 sm:max-w-sm 和 drawer 自定义宽度冲突 。iPad 下 hover 样式无效,选中无视觉提示 。导致的根本效果 左侧预览区点击 widget 无任何选中或高亮,designMode props 失效。 右侧 widget 列表无法点击(onSelect 返回 null),永远无属性面板。 工具栏、属性面板受宽度影响显示异常。 暗色模式下属性面板不可见。 统一修复建议 Widget id 兜底 :所有传入的 schema.widgets 强制补充唯一 id(入口+runtime 双兜底)。useUndoRedo 添加外部 schema 变化同步 。WidgetPropertyPanel/WidgetCard 使用 semantic token 替换硬编码颜色(border-border, bg-card, text-foreground...)。 sheet.right/DesignDrawer 不要内置 max-w,由使用方决定。 Design mode 下所有可选 widget 增加 ring-1+active:ring 明确提示。 验收标准 设计模式下左侧和右侧都能正确选中 widget,蓝色高亮同步出现、属性面板弹出。 iPad、暗色模式下视觉完全可用。 必须包含全端到端 E2E 回归测试。 注:详细分析与修复建议见本 Issue 说明。
Reactions are currently unavailable
You can’t perform that action at this time.
症状复现
截图参考
技术调查:代码链路全分析
DashboardWidgetSchema.id为 optional,未做 fallback,导致所有点击选中逻辑短路。导致的根本效果
统一修复建议
验收标准