# BUG-20260415-0006 > 适用场景:记录问题本身,不展开完整修复方案。修复内容写入对应的 Fix 文档。 ## 基本信息 - ID: BUG-20260415-0006 - 标题: 托管局部重绘未正确提交脏子树导致嵌套 Canvas 按钮状态不刷新 - 状态:已修复 - 严重性:S2 - 优先级:P1 - 模块: 重绘 / 托管局部提交 / Canvas 嵌套 - 版本 / 分支: 当前工作区 - 环境: Windows / EasyX / KEY5 回归场景 - 发现人: 用户 - 关联 Fix ID:Fix-BUG-20260415-0006 ## 问题描述 - 现象: KEY5 中第二层、第三层 Canvas 内按钮可正常触发 hover / click 回调,但视觉状态不刷新。 - 影响范围: 嵌套 Canvas 内的深层按钮、页内嵌套容器按钮、所有依赖托管局部重绘的脏后代场景。 - 期望结果: 只要深层按钮状态变化,最外层托管 root 应能正确提交对应脏子树并把视觉结果画出来。 - 实际结果: 日志显示事件和回调已执行,但屏幕上不出现 hover / press / release 反馈,直到触发更大范围重绘才会补出来。 ## 复现信息 - 前置条件: 使用 KEY5 场景,启用三层 Canvas 嵌套回归区。 - 复现步骤: 1. 打开 KEY5。 2. 将鼠标移到第二层或第三层 Canvas 内的按钮上,观察 hover。 3. 点击按钮并观察按下、松开状态。 - 复现概率:必现 - 最小复现 Demo:KEY5 A 区三层 Canvas 嵌套 - 证据:日志显示按钮回调已执行,但按钮视觉状态不刷新 ## 初步分析 - 疑似位置: Canvas 托管局部重绘提交链、Window 托管重绘登记 coverage - 触发条件: root 的直接子控件本身不 dirty,但其下存在 dirty descendant - 相关线索: - 托管局部提交只认直接 dirty child - 深层按钮状态变化未提升到 root 下直接脏分支 - 最近相关改动:第二阶段布局与托管重绘收口 ## 跟踪信息 - 首次发现时间: 2026-04-15 - 最后更新时间: 2026-04-15 - 修复版本:当前工作区 - 验证版本:KEY5 编译级验证通过,待用户手测 - 备注:该问题已按机制修复,不再使用临时整容器重绘补丁